我需要检测前端中的回发,以便我可以使用它与JQuery一起更改页面加载的类。我怎么能这样做?
答案 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
});