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在页面回发期间都不会更新的方法。.我已经尝试使用 Session,它有效..但是在页面重新加载期间不更新 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 vs Session here是一个很好的问题。

另一种选择- 将值保存在隐藏字段中

于 2012-12-02T18:36:43.833 回答