【发布时间】:2013-02-28 13:05:26
【问题描述】:
我有这个代码:
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<asp:TextBox ID="Text1" runat="server"></asp:TextBox>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<asp:TextBox ID="Text2" runat="server"></asp:TextBox>
<asp:Button ID="Submit" runat="server" OnClick="Submit_Click"
Text="Click Me"/>
</ContentTemplate>
</asp:UpdatePanel>
当我点击提交按钮时,所有表单都被发回服务器(Text1 和 Text2)。我只想在 UpdatePanel (Text2) 中回发文本框。有可能吗?
感谢您的回复。
编辑(解决方案): 我想,我有使用 Javascript 的解决方案:
function onSubmit() {
var text1 = this.document.getElementById('<%=Text1.ClientID%>');
text1.disabled = true;
return true;
}
....
<asp:Button ID="Submit" OnClientClick="onSubmit();" ..../>
这会导致 Text1 在 PostBack 之前被禁用。似乎 ASP.NET 不会从禁用的文本框中回发值。然而,这仅在没有 UpdatePanel 的情况下有效。当然,回发后Text1为空。
【问题讨论】:
-
您的意思是在 Text1 文本中进行的更改也适用于部分回发响应?
-
我不想在单击提交按钮时回发 Text1。我只想提交 Text2。
标签: asp.net ajax updatepanel