C# 使用超链接字段显示详细信息

C# 使用超链接字段显示详细信息,c#,asp.net,url,gridview,hyperlink,C#,Asp.net,Url,Gridview,Hyperlink,我有一个web应用程序(ASP.NET 2.0 C#),从Oracle数据库中获取数据,并将其放入gridview。在前面的一个问题中,我曾问过如何将这些数据转换为链接,例如,将我带到详细信息页面。这就是我得到的答案: <asp:HyperLinkField DataNavigateUrlFields="ID" DataNavigateUrlFormatString="DetailPage.aspx?id={0}" DataText

我有一个web应用程序(ASP.NET 2.0 C#),从Oracle数据库中获取数据,并将其放入gridview。在前面的一个问题中,我曾问过如何将这些数据转换为链接,例如,将我带到详细信息页面。这就是我得到的答案:

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

这样做会创建ID的链接,一旦我单击它,ID就会出现在下一页的URL中

我的问题是,我应该如何使用URL中的数据来实际显示关于该ID的信息?我是否必须对我的代码进行修改


谢谢你

是的,在你的代码背后,你需要从查询字符串中获取id,将其发送到数据库,并将返回值连接到显示元素


如果数据源可以从查询字符串中提取参数,则可以使用数据源实现这一点

在DetailPage的页面加载上,使用QueryString获取id

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

注意:您需要验证该id是否有效,因为攻击者可以在其中放入任何他们想要的内容。还要验证用户是否可以查看id。

您可以使用查询字符串从url提取数据