1

我有一个 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 的信息?我必须对我的代码做些什么吗?

谢谢

4

3 回答 3

0

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

如果他们可以从查询字符串中提取参数,您可能可以使用 DataSource 来实现这一点。

于 2009-03-30T14:18:49.597 回答
0

在 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,因为攻击者可以将他们想要的任何东西放在那里。还要验证用户是否可以查看 id。

于 2009-03-30T14:19:54.243 回答
0

您可以使用查询字符串从您的网址中提取数据..

于 2009-03-30T14:20:07.147 回答