在没有GridView的aspx页面中添加了标签HyperLink

时间:2015-12-15 08:01:22

标签: c# asp.net hyperlink

在我的aspx页面表单中的MarkUp我有这两个TextBox

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

这两个TextBox HTML视图是:

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

现在我需要在TextBox旁边插入id ps HyperLinkTextBox传递id的值HyperLink 1}} Mtl ,值 901

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

我尝试过此解决方案,但<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> 不可克服:

GridView

在这个aspx页面中,我没有 #include <string.h> char *strstr(const char *s1, const char *s2); ,可能因为这个原因无效?

如何解决这个问题?

请帮帮我,非常感谢你。

2 个答案:

答案 0 :(得分:1)

是的,你是正确的,因为你的控件不在gridview(或任何databound控件内),这就是为什么它不起作用。

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

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

答案 1 :(得分:0)

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