我有这个代码形式:
<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 为空。