1

我有一个 DataTable,它通过DataNavigateUrlField.

在代码中我输入什么来获得该值,例如:

MessageNum = DataNavigateUrlField[MessageNumber];

在这里DataNavigateUrlFields="MessageNumber",我可以在我的 C# 代码中做什么来获取 MessageNumber 的值?请我需要帮助。

<asp:HyperLinkField
    HeaderText="Subject"
    DataNavigateUrlFields="MessageNumber" 
    DataNavigateUrlFormatString="~/ViewMailContent.aspx?MessageNumber={0}"
    DataTextField="Subject" />

DataTable 设置为 GridView.DataSource,然后发送到页面,用户选择超链接,然后页面导航,我需要选择消息编号。

我注意到值显示在我的屏幕顶部的 Url 及其正确值,但是我如何获取值,是否可以在页面导航之前获取值?否则我认为该页面将不得不加载两次。

我大约一周前开始上网,所以不要给我极端的网络术语。

4

1 回答 1

4

你有(至少)两个选择:

  1. 如果您需要目标页面(通过单击网格中的 url 导航到的页面)中的值,您只需编写

    示例(在后面的代码中):

    Request.QueryString("MessageNumber")
    
  2. 如果您需要具有网格的页面中的值,您将重写 url 以指向一个 javascript 函数,该函数反过来可能会重定向到目标页面。

    <asp:HyperLinkField
        HeaderText="Subject"
        DataNavigateUrlFields="MessageNumber" 
        DataNavigateUrlFormatString="javascript:myFunction({0})"
        DataTextField="Subject" />
    

    函数(应该在源页面的 javascript 块中):

    function myFunction(id)
    { 
        alert("Now you are leaving this page");
        document.location = "ViewMailContent.aspx?MessageNumber=" + id;
    }
    
于 2012-05-03T08:01:21.910 回答