Использование HyperLinkFields для отображения деталей - PullRequest
1 голос
/ 30 марта 2009

У меня есть веб-приложение (ASP.NET 2.0 C #), где я получаю данные из базы данных Oracle в виде таблицы. В предыдущем вопросе я спросил, как я могу превратить эти данные в ссылки, которые, например, приведут меня на страницу с подробностями. Это был ответ, который я получил:

<asp:HyperLinkField DataNavigateUrlFields="ID"
     DataNavigateUrlFormatString="DetailPage.aspx?id={0}"
                        DataTextField="CategoryName" NavigateUrl="DetailPage.aspx" />

Это делает ссылки идентификатора, и как только я щелкаю по нему, идентификатор находится в URL следующей страницы.

У меня вопрос, как я должен использовать эти данные из URL для фактического отображения информации об этом идентификаторе? Должен ли я что-то делать с моим кодом позади?

Спасибо

Ответы [ 3 ]

0 голосов
/ 30 марта 2009

На странице загрузки DetailPage используйте QueryString, чтобы получить идентификатор

if(!IsPostBack)
{
    try
    {
        intMyId = (int)Request.QueryString["id"];
        //Do something with intMyId
    }
    catch(InvalidCastException ex)
    {
       //Record and show error message
    }
}

ПРИМЕЧАНИЕ. Вы захотите убедиться, что идентификатор является действительным, поскольку злоумышленник может поместить туда все, что он хочет. Также убедитесь, что пользователь может просматривать идентификатор.

0 голосов
/ 30 марта 2009

Вы можете использовать строку запроса для извлечения данных из вашего URL.

0 голосов
/ 30 марта 2009

Да, в вашем коде сзади вам нужно извлечь идентификатор из строки запроса, отправить его в базу данных и передать возвращаемое значение в элементы отображения.

Этого можно достичь, используя DataSource, если они могут извлекать параметры из строки запроса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...