如何为updatePanel之外的文本框分配值

时间:2009-10-05 11:28:40

标签: c# ajax asp.net-ajax

我在UpdatePanel中有一个Page.in页面按钮。当用户点击按钮时。 我需要为更新面板之外的文本框分配一个值。

如何实现这一目标?有什么建议吗?

3 个答案:

答案 0 :(得分:2)

您还可以将TextBox放在“更新”面板中,将该按钮保留在更新面板之外,并设置一个触发器,使该按钮执行异步回发,如下所示:

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

然后添加一个按钮事件,它将更改文本框的文本。

或者,如果您不想在更新面板中添加文本框,则可以注册启动脚本以将textBox的文本设置为:

ScriptManager.RegisterStartupScript(this, GetType(), "setTextBoxText", "<script type='text/javascript'>$('#"+tbTitle.ClientId+"').val('submit button has been clicked');</script>", false);

答案 1 :(得分:1)

将TextBox放在更新面板中,触发按钮,这是一个例子:

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

在Button Click上,您可以更改txtBox1的值并调用upd2.Update()

答案 2 :(得分:0)

IIRC您需要在其他控件上调用.Update()(可能将它们放在第二个UpdatePanel中并在上调用.Update() )。 See MSDN举个例子。