如何获取 DataNavigateUrlFields 的值

本文关键字:DataNavigateUrlFields 的值 获取 何获取 | 更新日期: 2023-09-27 18:33:13

我有一个数据表,它通过一个DataNavigateUrlField传递一个值。

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

MessageNum = DataNavigateUrlField[MessageNumber];

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

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

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

我注意到 值 显示在屏幕顶部的 URL 中,它是正确的值,但是我如何获取该值,是否可以在页面导航之前获取该值? 否则我认为该页面必须加载两次。

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

如何获取 DataNavigateUrlFields 的值

您(至少)有两个选择:

  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;
    }