UpdatePanel不刷新

时间:2008-11-27 16:51:31

标签: asp.net ajax.net

我有一个带有HtmlInputHidden字段的简单页面。我使用Javascript更新该值,并在回发页面时,我想读取该HtmlInputHidden字段的值。 HtmlInputHidden字段的Value属性是回发默认值(创建页面时的值,而不是通过Javascript反映的值)。我还尝试使用ScriptManager.RegisterHiddenField(Page,“MyHtmlImputHiddenField”,“initialvalue”)注册HtmlInputHidden字段,但它仍然只允许我读取'initialvalue',即使我(通过javascript)可以检查值是否已更改。 / p>

我试图对rowid进行硬编码,令我惊讶的是,在删除之后回发gridview完全相同但是从数据库中删除了记录。 (我称之为数据绑定方法)。

  protected void gridViewDelete(object sender, GridViewDeleteEventArgs e)
  {

      bool bDelete = false;
      bool bCheck = false;

      if (hfControl.Value != "1")
      {
          // check relationship
          bCheck = validation_method(.......);
          if (bCheck)
          {
              bDelete = true;
          }   
      }
      else
      {
          hfControl.Value = "";
          bDelete = true;
      }

      if (bDelete)
      {
          //process delete
      }
      else
      {
          string script = string.Empty;

          script += " var x; ";
          script += " x = confirm('are u sure?'); ";
          script += " if (x){ " ;
          script += " document.getElementById('hfControl').value  = '1'; ";
          script += " setTimeOut(__doPostBack('gridView','Delete$"
                                      + e.RowIndex + "'),0);";
          script += " } ";

          ScriptManager.RegisterClientScriptBlock(this,
                                       Page.GetType()
                                       , "confirm"
                                       , script
                                       ,true);
      }
   } 

2 个答案:

答案 0 :(得分:0)

在回发时,页面加载时隐藏字段的视图是回发的内容,还是页面加载时设置的值?您可能需要担心在回发中您没有将值重置为最初的值的情况。另一点是,如果您执行删除操作,是刷新您显示的数据还是相同?那些将是我的建议。

答案 1 :(得分:0)

当我进行回发时,该值与回发的值相同。我认为updatepanel没有刷新。我试图做__doPostBack('UpdatePanel1',''),也没办法。