2009-08-09 14 views
0
protected void Page_Load(object sender, EventArgs e) 
{ 

    if (!IsPostBack) 
    { 
     lblPostBack.Text = " Text created first time"; 
    } 
    else 
    { 
     if (Session["Counter"] == null) 
     { 
      lblPostBack.Text = "PostBack x however strange becasue if is postback it's mean somebody clicked button and session value has been created"; 

     } 
     else 
     { 
      lblPostBack.Text = "PostBack x should be count here"; 
     } 
    } 
} 
protected void cmd_Click(object sender, EventArgs e) 
{ 
    int _counter; 
    if (Session["Counter"] == null) 
    { 
     _counter = 1; 

    } 
    else 
    { 
     _counter = (int)Session["Counter"] + 1; 
    } 
    Session["Counter"] = _counter; 
    lblPostBack.Text += "Counter: " + _counter.ToString(); 
} 

答えて

0

[OK]を示し、それが動作し、最大

+0

いいえ、私はまだ問題がある、私は右のメッセージを持つために2回クリックする必要があります。なぜ誰かが知っていますか? –

0

だけFFの混乱私は法に従い、正常に動作します追加されました。

private int _counter;ボイドPage_PreRender(オブジェクト送信者、のEventArgs電子) {セッション[ "カウンター"] = _counter保護

protected void Page_Load(object sender, EventArgs e) 
{ 
(...) 

。 }

2

これはASP.NETだと仮定します。これは、ページのLoadイベントの後にボタンのClickイベントが発生し、セッションが設定されていないためです。

MSDN on the page lifecycle良いと思うかもしれません - ボタンのクリックは、その文書の表の「ポストバックイベント」です。

スティックの端が間違っている場合は、ボタンがクリックされた後にどのようなメッセージが表示され、何を期待していたかを説明してください。問題のフレームワークと言語タグの中には、あまりにもうまくいかないものもあります。

関連する問題