在没有c#中的GridView的aspx页面中添加了标记HyperLink

本文关键字:添加 HyperLink aspx 中的 GridView | 更新日期: 2023-09-27 18:26:59

在我的aspx页面表单中的MarkUp上,我有两个TextBox:

<asp:TextBox ID="Mtl" runat="server" ReadOnly="true" Enabled="false"></asp:TextBox>    
<asp:TextBox ID="ps" runat="server"></asp:TextBox>

这两个TextBoxHTML视图是:

<input name="Mtl" type="text" value="901" readonly="readonly" id="Mtl" disabled="disabled" />    
<input name="ps" type="text" id="ps" />

现在,我需要在TextBoxidps旁边插入HyperLink,其中在querystring中传递了TextBoxidMtl的值,值为901

我需要传递这个值才能在另一个aspx页面中工作。

我尝试过这个解决方案,但HyperLink不可点击:

<asp:HyperLink ID="HlLink" runat="server"
      NavigateUrl='<%# String.Format("~/box.aspx?v={0}&e={1}&l={2}", "y", "IC", HttpUtility.UrlEncode(Eval("Mtl").ToString())) %>'
      ImageUrl="~/Images/edit_icon.gif" Target="_blank" Text="Mtl"></asp:HyperLink>

在这个aspx页面中,我没有GridView,也许是因为这个原因它不起作用?

如何解决此问题?

请帮帮我,提前谢谢你。

在没有c#中的GridView的aspx页面中添加了标记HyperLink

是的,您是正确的,因为您的控件不在gridview(或任何databound控件)中,这就是它不起作用的原因。

实际上,<%# %>被称为数据绑定表达式,它们仅针对数据绑定控件进行计算。为了让HyperLink控件使用此代码块,您必须显式调用该控件上的DataBind方法,如下所示:-

protected void Page_Load(object sender, EventArgs e)
{
    HlLink.DataBind();      
}

您可以在文本框上绑定jQuery"Change"事件。在这种情况下,您可以通过从文本框中提取值并将其附加在查询字符串的适当位置来设置正确的导航url。这是一个相当简单的解决方案。如果你不知道怎么做,我可以给你一个样品。