我想问一下,在ASP.NET按钮点击事件结束后我们是否可以进行javascript重定向。
我之所以这样说是因为我正在编辑一个ASP.NET页面,但却无法访问源代码,因此我只能更改客户端的内容。
总而言之,我希望能够仍然运行ASP.NET按钮事件,在完成后我需要重定向到另一个页面。
我环顾四周并测试了一些但是ASP.NET回发使得客户端的重定向没有运行。
有什么想法吗?
答案 0 :(得分:1)
<head runat="server">
<script type="text/javascript">
function PageRedirect() {
window.location.href = "http://www.google.com/";
}
</script>
</head>
<body>
<form runat="server">
//使用OnClientClick
<asp:Button ID="Button1" runat="server" Text="Button" OnClientClick="PageRedirect(); return false;"/>
// Return False will not post the page even if its postback=true
</form>
</body>
答案 1 :(得分:0)
2个选项:
1)在表单提交时在服务器端 - 执行此操作:
Page.ClientScript.RegisterStartupScript(GetType(), "blabla", "window.location='xxx'", true);
2)使用隐藏字段并在提交时设置值(在服务器端)。当页面返回时,通过JS检查其值并执行以下操作:
if (document.getElementById('myHidden').value=='afterPostBack')
{
window.location='xxx'
}
在表单提交之前 - 在JS中执行此操作
var form = document.getElementById("idOfForm");
form.onsubmit = function() {
document.cookie="isRedirect=1; expires=Thu, 28 Nov 2013 02:23:26 GMT; path=/";
this.submit();
}
并在页面底部添加此代码:
if (document.cookie.indexOf('isRedirect=1')>-1)
{
window.location='xxx'
}