我有以下形式的代码:
<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();" ..../>
导致在PostBack之前将禁用Text1。它接缝说ASP.NET不会从禁用的文本框中回发值。 Hovewer,这只适用于没有UpdatePanel。当然,回发后Text1为空。
答案 0 :(得分:0)
好吧,UpdatePanel控制了回发的内容。你无法改变这种行为。它应该只发布UpdatePanel的表单数据(我相信),加上整个ViewState。它必须发布整个ViewState以使页面生命周期起作用。