在 MVC4 的控制器中调用 Javascript 表单

Call a Javascript form within a controller in MVC4

我想从我使用的控制器函数中调用一个 javascript 函数:

 Public Function redirectTo() As JavaScriptResult
        Return JavaScript("ToSignUp()")
    End Function

在我的控制器中。但是程序永远不会进入脚本。我已经检查过类似的答案,但我还没有找到解决问题的方法。有人可以帮助我吗?

添加 2019 年 4 月 3 日 12:41
我使用以下命令从我的控制器重定向...但没有任何反应:

Public Function redirectTo() As RedirectToRouteResult
        Dim routes As New RouteCollection With {.RouteExistingFiles = True}
        Return RedirectToAction("../login/SignUp")
    End Function
End Class

添加 2019 年 4 月 3 日 23:20
这样问题就解决了
在我的 .aspx 页面的 code behind 中的适当位置添加以下代码:

 Dim routes As New RouteCollection With {.RouteExistingFiles = True}
  Response.Redirect("SignUp")

Response.Redirect 指令不是新指令。
但为了发挥作用,需要在以下指令之前添加

Dim routes As New RouteCollection With {.RouteExistingFiles = True}

那是因为 MVC 无法识别存在的文件,这意味着 属性 RouteExistingFiles 始终是 False
因此,为了使代码正常工作,我们需要将此 属性 转换为 True
无论如何感谢大家的帮助。

从网上的其他例子(like this one),我会说,如果你暂时把你的功能改成:

Public Function redirectTo() As JavaScriptResult
    Return JavaScript("alert("HERE");")
End Function

它可能会起作用...所以没有看到 JS 函数内容,很难判断。对于第二点,如果从服务器调用 RedirectToAction 调用将起作用;如果客户端正在调用它,请改用 'window.location'。