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