代码之家  ›  专栏  ›  技术社区  ›  ACP

在updatepanel更新后保留html div元素asp.net

  •  1
  • ACP  · 技术社区  · 14 年前

    我使用jquery facebox作为删除确认框。当我做一个delete时,它会删除我的记录,并通过javascript显示resultsdiv。但它总是表现出来

    Error: document.getElementById("ImageButtonDiv") is null

    这是我的密码,

    protected void Delete_Click(object sender, EventArgs e)
    {
        // my delete
        ScriptManager.RegisterClientScriptBlock(Delete, typeof(Button), "dele", 
              "ShowImageButtonDiv();topBar('Successfully Deleted');", true);
    }
    

    还有我的javascript函数,

    function ShowImageButtonDiv() {
        document.getElementById("ImageButtonDiv").style.display = 'block';
        document.getElementById("datatable").style.display = 'block';
        document.getElementById("adddiv").style.display = 'none';
        return true;
    }
    

    当我的删除确认不在jquery facebox中时,它将获取我的元素。有什么问题吗?

    我已经换了,但还是没用,

    ScriptManager.RegisterClientScriptBlock(LbDelete, typeof(LinkButton), "dele", 
     "jQuery(document).ready(function(){UsersDatatable('" + HfJsonString.Value + "');
            ShowImageButtonDiv();topBar('Successfully Deleted');});", true);
    
    1 回复  |  直到 14 年前
        1
  •  1
  •   Aristos    14 年前

    发生这种情况是因为您的脚本可能在dom准备就绪之前运行,因此他找不到ImageButtonDiv。

    您可以通过将此代码放置在dom就绪时运行来改变这一点

     ScriptManager.RegisterClientScriptBlock(Delete, typeof(Button), "dele", 
              "jQuery(document).ready(function(){ ShowImageButtonDiv();topBar('Successfully Deleted'); });"
    , true);