C# 由于Response.Redirect()而忽略Javascript
我目前正在使用C#在asp.net上工作,我需要显示一个消息框,确认用户的输入并重定向到另一个页面,我的代码如下:C# 由于Response.Redirect()而忽略Javascript,c#,javascript,asp.net,C#,Javascript,Asp.net,我目前正在使用C#在asp.net上工作,我需要显示一个消息框,确认用户的输入并重定向到另一个页面,我的代码如下: protected void Button1_Click(object sender, EventArgs e) { System.Text.StringBuilder sb = new System.Text.StringBuilder(); sb.Append("<script language='javascript'>"); sb.App
protected void Button1_Click(object sender, EventArgs e)
{
System.Text.StringBuilder sb = new System.Text.StringBuilder();
sb.Append("<script language='javascript'>");
sb.Append("if (confirm('YES OR NO?')){ /*some javascript code*/ }");
sb.Append("</script>");
Page.RegisterStartupScript("FocusScript", sb.ToString());
Response.Redirect("Default.aspx");
}
我不使用
Response.Redirect()
但是页面没有被重定向,我应该怎么做才能解决这个问题呢?确认是一个JavaScript函数,它在客户端执行。注册后,立即重定向到另一个页面,因此该函数永远不会执行。Confirm
是一个JavaScript函数,它在客户端执行。注册后,您会立即重定向到另一个页面,因此该函数永远不会执行。您确实需要在服务器端处理此问题吗?事实上,这正是一件相当简单的事情变得令人困惑的地方
例如,如果您可以使用Javascript/jQuery处理它,您可以做一些简单的事情,如:
$('#Button1').click(function(){
if (confirm("Yes or No?")){
window.location = "/default.aspx";
}
});
你真的需要在服务器端处理这个问题吗?事实上,这正是一件相当简单的事情变得令人困惑的地方
例如,如果您可以使用Javascript/jQuery处理它,您可以做一些简单的事情,如:
$('#Button1').click(function(){
if (confirm("Yes or No?")){
window.location = "/default.aspx";
}
});
有一个在客户端单击事件中使用添加javascript的选项
例如:-
然后在代码端简单地重定向页面。有一个在客户端单击事件中使用添加javascript的选项
例如:-
然后在代码端简单地重定向页面。我认为最好在页面加载时为按钮添加一个属性,并将按钮单击功能保留为仅重定向。类似这样的内容(页面加载):
在按钮单击中,只需执行以下操作:
protected void Button1_Click(object sender, EventArgs e)
{
Response.Redirect("Default.aspx");
}
<script>
function confirmFunction()
{
if(Confirm("Yes OR NO")
//Add your JS Code
return true; //will pass onto server
else
//Add your JS Code
return false; //will not go to server
}
</script>
最后,在JS中,有以下内容:
protected void Button1_Click(object sender, EventArgs e)
{
Response.Redirect("Default.aspx");
}
<script>
function confirmFunction()
{
if(Confirm("Yes OR NO")
//Add your JS Code
return true; //will pass onto server
else
//Add your JS Code
return false; //will not go to server
}
</script>
函数confirmFunction()
{
如果(确认(“是或否”)
//添加你的JS代码
返回true;//将传递到服务器
其他的
//添加你的JS代码
返回false;//将不会转到服务器
}
HTH我认为最好在页面加载时为按钮添加一个属性,并将按钮单击功能保留为重定向。类似这样(页面加载):
在按钮单击中,只需执行以下操作:
protected void Button1_Click(object sender, EventArgs e)
{
Response.Redirect("Default.aspx");
}
<script>
function confirmFunction()
{
if(Confirm("Yes OR NO")
//Add your JS Code
return true; //will pass onto server
else
//Add your JS Code
return false; //will not go to server
}
</script>
最后,在JS中,有以下内容:
protected void Button1_Click(object sender, EventArgs e)
{
Response.Redirect("Default.aspx");
}
<script>
function confirmFunction()
{
if(Confirm("Yes OR NO")
//Add your JS Code
return true; //will pass onto server
else
//Add your JS Code
return false; //will not go to server
}
</script>
函数confirmFunction()
{
如果(确认(“是或否”)
//添加你的JS代码
返回true;//将传递到服务器
其他的
//添加你的JS代码
返回false;//将不会转到服务器
}
HTH在加载页面上添加以下代码
Button1.Attributes.Add("onclick", "if(confirm('do you want to redirect?')){}else{return false}");
现在,单击ur按钮将首先触发java确认模式框
至于你的按钮,请点击
protected void Button1_Click(object sender, EventArgs e)
{
Response.Redirect("Default.aspx");
}
想法是-只有在用户通过单击“确定”确认后,才会触发“代码隐藏”按钮1\u单击事件在页面加载中添加以下代码
Button1.Attributes.Add("onclick", "if(confirm('do you want to redirect?')){}else{return false}");
现在,单击ur按钮将首先触发java确认模式框
至于你的按钮,请点击
protected void Button1_Click(object sender, EventArgs e)
{
Response.Redirect("Default.aspx");
}
想法是-您的codebehind Button1\u Click事件只有在用户通过单击OK确认后才会触发。按钮1是否放置在UpdatePanel中?如果是,请使用ScriptManager.RegisterStartupScript方法,而不是使用Scriptfyi,它是type=“text/javascript”
而不是language=“…”
检查你的反斜杠。我想可能是这样的:sb.Append(“if(confirm('YES或NO')){window.location.href=\“Default.aspx\”;}”);按钮1是否放在UpdatePanel中?如果是这样,请使用ScriptManager.RegisterStartupScript方法而不是代替Fyi,它是type=“text/javascript”
而不是language=“…”
检查你的反斜杠。我想可能是这样的:sb.Append(“如果(确认('YES或NO?)){window.location.href=\“Default.aspx\”;}”);绝对。没有必要仅仅因为您使用ASP.NET就使用RegisterStartupScript
。所描述的行为纯粹是客户端的。绝对。没有必要仅仅因为您使用ASP.NET就使用RegisterStartupScript
。所描述的行为纯粹是客户端的。javascript:
不应在事件上使用。All它只是定义一个标签。javascript:
不应用于事件。它所做的只是定义一个标签。