在asp.net中阻止浏览器后退按钮上的javascript
我已经从服务器端调用了一个javascript代码。它可以正常工作,但现在,一旦用户使用browser back按钮进入我的页面,javascript代码(即ScriptManager.RegisterStartupScript)就会再次被调用。 我怎样才能防止这种情况发生呢?我相信页面加载是有道理的。 有人能帮我查一下吗 下面是我的代码在asp.net中阻止浏览器后退按钮上的javascript,javascript,jquery,asp.net,Javascript,Jquery,Asp.net,我已经从服务器端调用了一个javascript代码。它可以正常工作,但现在,一旦用户使用browser back按钮进入我的页面,javascript代码(即ScriptManager.RegisterStartupScript)就会再次被调用。 我怎样才能防止这种情况发生呢?我相信页面加载是有道理的。 有人能帮我查一下吗 下面是我的代码 protected void Button1_Click1(object sender, EventArgs e) { this.
protected void Button1_Click1(object sender, EventArgs e)
{
this.ADDMsg.Visible = false;
string dropdownvalue = HiddenField.Value;
this.ADDMsg.Text = "";
bool flag = true;
try
{
if (flag)
{
if (this.vpsReq == null)
{
this.vpsReq = new VPSRequest();
try
{
this.Record_Request_VPS(this.vpsReq, dropdownvalue);
ScriptManager.RegisterStartupScript(this, this.GetType(), "ShowStatus", "javascript:alert('Request Submitted');", true);
}
catch (Exception exception2)
{
this.ADDMsg.Text = exception2.Message;
}
}
else
{
}
}
else
{
this.ADDMsg.Text = "Please correct the errors above and click <i>Submit</i>.";
}
}
catch (NullReferenceException)
{
}
}
另外,ispostback变量的用法如下所示(为了更清楚起见,我想添加此代码)
$(文档).ready(函数(){
var isPostBackObject=document.getElementById('isPostBack');
if(isPostBackObject==null){
$('#')。隐藏();
}
$(“#”+“ClaimVEBP”).hide();
});
任何解决方案?即使使用jQuery也很感激。在页面加载事件处理程序中更改以下代码块,如下所示:
if (!IsPostBack)
{
ClientScript.RegisterHiddenField("isPostBack", "1");
}
!!回发
意味着Clientscript将仅在第一次加载页面时运行
谢谢你的回复,但还是一样的问题。当我使用浏览器返回按钮返回时,我收到一个弹出窗口,上面写着“请求已提交”
$(document).ready(function () {
var isPostBackObject = document.getElementById('isPostBack');
if (isPostBackObject == null) {
$('#<%= ADDMsg.ClientID %>').hide();
}
$("#" + "ClaimVEBP").hide();
});
if (!IsPostBack)
{
ClientScript.RegisterHiddenField("isPostBack", "1");
}