2015-12-15 57 views
0

在我的aspx页面形式MarkUp我有这两个TextBox添加标签超链接而不GridView控件在C#

<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" /> 

现在我需要插入旁边的TextBoxidpsHyperLink其中通过querys价值TextBoxidMtl,值为。

我需要通过这个值在另一个aspx页面工作。

我曾尝试这种解决方案,但HyperLink不是clikable:

<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,也许它并不适用于这个工作的原因所在?

如何解决这个问题?

请帮助我,非常感谢你提前。

回答

1

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

实际上,<%# %>被称为数据绑定表达式,它们仅针对数据绑定控件进行评估。为了您的HyperLink控制,与此代码金块工作,你必须显式调用DataBind方法上像这样的控制: -

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

谢谢,但现在我有这个错误'数据绑定方法如Eval(),XPath()和绑定()只能在数据绑定控件的上下文中使用。 ' –

+0

@AntonioMailtraq - 奥普斯没有看到你在那里使用'Eval'。什么是'Mtl'?你是从_querystring_获得的? –

+0

'Mtl'是值'Mtl.Text = MtlFromDb.ToString();'从sql提取'query' –

0

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

+0

谢谢,我对'jQuery'不太了解 –