我有一个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,然后发送到页面,用户选择超链接,然后页面导航,我需要选择的消息编号。
我注意到The Value显示在我的屏幕顶部的Url及其正确的值,但是我如何获得该值,是否可以在Page导航之前获取该值?否则该页面必须加载两次我认为。
我一周前开始上网,所以不要给我极端的网络术语。
答案 0 :(得分:4)
你有(至少)两个选择:
如果您需要目标网页中的值(通过点击网格中的网址导航到的页面),您只需编写
示例(代码隐藏):
Request.QueryString("MessageNumber")
如果您需要包含网格的页面中的值,您将重写网址以指向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;
}