私はこのコードを次の形式で持っています:
<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 は、無効化されたテキスト ボックスから値をポストバックしないようです。ただし、これは UpdatePanel なしでのみ機能します。もちろん、ポストバック後、Text1 は空です。