2015-12-15 86 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'不太瞭解 –