1

我有以下 javascript 函数:

        function redirect() {
        window.setTimeout(function () { <% Response.Redirect("~/Pages/ExecrcisePlan.aspx"); %> }, 2000);
    }

我想从我的 asp.net 页面内部调用这个函数,但是当我进入页面并重定向我时它正在执行,甚至没有调用该函数,并且当我评论该行时发生了同样的事情,我知道我可以使用其他 javascript 替代方案,但是是古玩为什么它不起作用,是否有任何方法使它起作用?

4

2 回答 2

4

当您在 aspx 或 cshtml 页面中使用<% %>块时。代码在页面创建时立即得到评估,因为它们是服务器端代码块。您可以通过使用 ASP.Net AJAX Timer 控件而不是使用纯 JavaScript 来调用它。

另一种选择是使用类似 location.href 的javascript 重定向方法,然后使用块 <% Response.Write(url) %> 输出您想要的 URL。

于 2013-11-11T14:07:38.330 回答
0

你想做的是:

redirect();

function redirect() {
  var x = setTimeout(function() {
  window.location.replace(<% Url.Content("~/Pages/ExecrcisePlan.aspx"); %>);
  }, 2000);
}

http://jsbin.com/aQaLuVA/1/

于 2013-11-11T14:10:22.073 回答