我在UpdatePanel中有一個Page.in頁面按鈕,當用戶點擊按鈕時。 我需要爲更新面板之外的文本框分配一個值。如何分配一個值給updatePanel外部的文本框
如何實現這個?任何建議它會在那裏?
我在UpdatePanel中有一個Page.in頁面按鈕,當用戶點擊按鈕時。 我需要爲更新面板之外的文本框分配一個值。如何分配一個值給updatePanel外部的文本框
如何實現這個?任何建議它會在那裏?
IIRC你會需要調用其他控件(也許將它們放置在第二UpdatePanel
和是調用.Update()
).Update()
。 See MSDN爲例。
將在觸發了這裏的按鈕的UpdatePanel文本框的一個例子:
<asp:UpdatePanel ID="upd1" runat="server">
<ContentTemplate>
<asp:Button ID="Btn1" runat="server />
</ContentTemplate>
</asp:UpdatePanel>
<asp:UpdatePanel ID="upd2" runat="server">
<ContentTemplate>
<asp:TextBox ID="txtBox1" runat="server" />
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="Btn1" />
</Triggers>
</asp:UpdatePanel>
,按鈕上點擊,你可以改變txtBox1的價值和調用upd2.Update()
您也可以將文本框在一個更新面板,離開按鈕進行更新面板和設置觸發,這將導致按鈕做一個異步回發是這樣的:
<asp:Button ID="btnSubmit" runat="server />
<asp:UpdatePanel ID="upTextBox" runat="server">
<ContentTemplate>
<asp:TextBox ID="tbTitle" runat="server" />
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="btnSubmit" />
</Triggers>
</asp:UpdatePanel>
然後添加一個按鈕事件,它將更改文本框的文本。
或者,如果你不想添加文本框的一個更新面板中,你可以註冊一個啓動腳本來設置文本框像這樣的文字:
ScriptManager.RegisterStartupScript(this, GetType(), "setTextBoxText", "<script type='text/javascript'>$('#"+tbTitle.ClientId+"').val('submit button has been clicked');</script>", false);
...並添加一個異步在包含文本框的面板上觸發,以便點擊按鈕將更新文本。 – 2009-10-05 11:45:20