私はこのプログラムをasp.netに持っています
<body>
<form id="form1" runat="server">
<div>
<asp:Button runat ="server" ID="btnTest" Text ="Request Somethig"
OnClick ="OnClick" />
</div>
</form>
</body>
そして背後にあるコード:
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (IsPostBack)
Response.Write("A Post Back has been sent from server");
}
protected void OnClick(object sender, EventArgs e)
{
//The button has AutoPostBack by default
}
}
サーバーhttp://localhost:50078/Default.aspxにページを要求すると、 サーバーはクラス _Default.cs のインスタンスを作成し、それが起動して Page_Load をイベントしますが、この行は実行されません。初めて:
Response.Write("A Post Back has been sent from server");
その理由は IsPostBack=false です
次に、ボタンをクリックすると、サーバーからのポスト バックが要求されるため、IsPostBack が true になり、ブラウザーにメッセージが表示されます。
"A Post Back has been sent from server"
私の質問は次のとおりです: IsPostBack プロパティが false から true に変更される方法と、その値を格納する場所はどこですか?
私が知る限り、サーバーがクラス _Default.cs から作成するインスタンスは、HTML がクライアントに送信されると破棄されるため、ボタンをクリックしたとき (ポストバックを行う) には IsPostBack プロパティについて何もないと思われます。 .
サーバーは IsPostback の値をページ自体の _VIEWSTATE 非表示変数に格納しますか?
前もって感謝します!!