我有一个 userControl 被动态添加到我的表单中,从 1 到 20 次不等。该控件包含超链接字段(可见)和引用字段(不可见)。问题是超链接没有将引用字段的值作为链接页面参数传递。
userControl 代码如下所示:
<asp:Hyperlink ID="childLink" Enabled="true" DataNavigateUrlFields="aSeq"
DataNavigateUrlFormatString="~/Header.aspx?aSeq={0}" NavigateUrl="~/Header.aspx"
runat="server><%# DataBinder.Eval(Container, "DataItem.cName") %> </asp:HyperLink>
因此,超链接应该打开 Header 页面,传递“aSeq”字段的值,如下所示:
<asp:HyperLink ID="aSeq" Enabled="true" DataNavigateUrlFields="aSeq" DataNavigateUrlFormatString="~/Header.aspx?aSeq={0}" NavigateUrl="~/Header.aspx"
runat="server"><%# DataBinder.Eval(Container,"DataItem.genePK") %></asp:HyperLink>
它确实会转到 Header.aspx 页面的页面加载,但Request.QueryString["aSeq"]
始终为 NULL。在 Page_Load 我有一小段代码:
string aRequest = Request.QueryString["aSeq"];
if (aRequest==null)
{
PopulateHeader("GKEAAHDI");
}
else
{
PopulateHeader(aRequest);
}
我只能推测它没有得到标记为“aSeq”的字段的值。我使用了超链接,因为文本框不允许数据绑定器使用代码块。
我做了什么!?