Gridview更新按钮折叠jQuery触发器

时间:2011-11-16 10:27:34

标签: c# jquery asp.net gridview

我的当前项目有问题。我正在创建一个管理员页面,用户可以在该页面上编辑网站上的文本。它全部收集在1页并插入jQuerys,如此页面演示:

http://www.sohtanaka.com/web-design/easy-toggle-jquery-tutorial/

在我的Gridview中我有更新和删除按钮(从我正在使用的数据集生成的按钮),但是当我点击“更新”时,jQuery触发器会崩溃,因此,我必须再次打开触发器才能编辑该地区。

当我点击更新按钮时,是否有可能以某种方式让jQuery Trigger STAY打开?

我相信这是因为回发所以我一直在研究“如何防止回发”,但我能找到的答案最多的是如何防止ASP上的回发:按钮 - 这不是我的情况:)< / p>

我不确定我是否应该输入我的整个代码,因为我认为那些Gridview和数据源很长。

1 个答案:

答案 0 :(得分:0)

此代码(来自您链接的教程)在页面加载时折叠容器:

$(".toggle_container").hide();

您需要有一些方法来了解页面加载的原因是因为页面正在进行回发。一种方法是在页面上有一个asp:HiddenField字段,如果你正在进行回发,则将其值设置为“True”,否则设置为false。您可以在Page_Load方法(代码隐藏)中执行此操作,如下所示:

Page_Load (Object source, EventArgs e)
{
    if(Page.IsPostBack)
    {
        myHdnField.Value = "True";
    }
    else
    {
        myHdnField.Value = "False";
    }
}

然后,您只需要在javascript中检查是否要折叠容器。 编辑:根据我们的评论,您可能需要等待DOM准备好。在这里我使用jQuery来检查(我还添加了对jQuery的引用)

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.1/jquery.min.js"></script>
<script type="text/javascript">
    jQuery(function() {
        if(document.getElementByID('<%= myHdnField.ClientID %>').value == "False")
        {
            $(".toggle_container").hide();
        }
    });
</script>