如何在前端检测回发(aspx)

时间:2011-03-11 23:43:11

标签: c# jquery asp.net webforms

我需要检测前端中的回发,以便我可以使用它与JQuery一起更改页面加载的类。我怎么能这样做?

5 个答案:

答案 0 :(得分:7)

您可以检查IsPostBack属性。例如:

<script type="text/javascript">
    $(function()
    {
        var isPostBack = <%=Page.IsPostBack.ToString().ToLower()%>;

        if (isPostBack)
        {
             alert("Postback");
        }
    });
</script>

答案 1 :(得分:3)

this post被盗:

在服务器端有这个

if(IsPostBack)
{
   // NOTE: the following uses an overload of RegisterClientScriptBlock() 
   // that will surround our string with the needed script tags 
   ClientScript.RegisterClientScriptBlock(GetType(), "IsPostBack", "var isPostBack = true;", true);
}

在客户端这个

if(isPostBack) {
   // do your thing
}

答案 2 :(得分:1)

简单:

如果你正在使用jquery,它必须追求(否则jquery会疯狂):

    $(document).ready(function(){

    });

   var isPostBack = <%=Convert.ToString(Page.IsPostBack).ToLower()%>;

然后

    function whatever(){
            if (isPostBack){
            //Whatever you want to do
            }else{
            //Whatever else you want to do
            }
    }

我实际上正在使用它与jquery显示一个Web服务状态框然后强制回发来刷新ListView,所以当它回发时它不会调用Web服务或显示状态框只是更新的ListView数据

答案 3 :(得分:1)

我把这个变量放在我的asp.net web表单页面的标题标记中。

<script type="text/javascript">
    var isPostBack = ("true"==="<%= Page.IsPostBack ? "true" : "false" %>");
</script>

var包含一个布尔值。比较可能会缩短。

答案 4 :(得分:0)

$("a[href^='javascript:__doPostBack']").click(function () {
    // do something
});