0

コードを検討する

public partial class Classname: somethng
    {   
        bClass objClass = new bClass();
        Boolean isfindclicked=false;
protected void Page_Load(object sender, EventArgs e)
        {
            //rowid = 0;
            if (!IsPostBack)
            {......
              ...
             }
}

  protected void btnFind_Click(object sender, EventArgs e)
        {
         isfindclicked=true;
}

ボタンのクリック時に、isfindclicked の値が true の場合、特定の操作が実行されます。しかし、ボタンがクリックされると、ページがリロードされ、isfindclicked の値が false に設定されます。そのため、クリックされたボタン内の fn は実行されません...

そのため、変数 isfindcliked をページのポストバック中に更新しないようにする方法はありません。.私はセッションで試してみましたが、うまくいきました..しかし、ページのリロード中に isfindclicked 値を更新しないという他の方法はありますか?

4

1 に答える 1

1

Session(これはIMOのより良い方法です)と同様に、 ViewState.

btnFind では、次のようなことができます。

 protected void btnFind_Click(object sender, EventArgs e)
 {
     isfindclicked=true;
     ViewState["isFind"] = isfindclicked;
 }

そして、あなたがそれを必要とするとき:

if (ViewState["isFind"] != null)
    bool found = (bool)ViewState["isFind"];

ここでViewState と Session について疑問に思っている場合は、それについての良い質問です。

別のオプション-非表示フィールド内に値を保存する

于 2012-12-02T18:36:43.833 に答える