如何从ASP.NET MVC 4 Web应用程序中的一个Controller的视图重定向到另一个Controller的视图

时间:2015-10-19 09:06:50

标签: c# asp.net asp.net-mvc-4

我正在创建一个登录页面,其中有两个按钮。一个是提交类型'登录'按钮和其他是重定向按钮'注册'它获取另一个控制器的视图的URL。 此登录页面(查看)属于登录控制器,重定向按钮应访问 SignSp MemberSignup 视图控制器。

    <p>
     <input type="button" value="Sign Up" class="btn" onclick= "document.location.href='SignUp/MemberSignUp'";/>
   </p>

在运行上面的代码时,它正在执行URL:〜/ Login / SignUp / MemberSignUp。因此,不应包含登录控制器的错误。

5 个答案:

答案 0 :(得分:0)

您可以使用ActionLink,如下所示:

@Html.ActionLink("Sign Up", "MemberSignUp", "SignUp", null, new { @class="your-class" } })

答案 1 :(得分:0)

如果你不想依赖JavaScript来获取按钮上的链接,另一种方法就是你可以简单地使用一个锚并对其进行样式化,使其成为一个按钮,使用css。

<a href="/Controller/View" class="Button">Your button text</a>

答案 2 :(得分:0)

只需添加&#34; /&#34;在您的网址之前指明路径是绝对的,而不是相对的:document.location.href =&#39; / SignUp / MemberSignUp&#39;

或使用剃刀方法生成网址(最佳方法):@ Url.Action(&#34; MemberSignup&#34;,&#34; SignUp&#34;);

答案 3 :(得分:0)

一种方法只是指向正确的URL,例如下面的例子;

<p>
   <a href="/SignUp/MemberSignUp" >Sign Up</a>
<p>

<p> <a href="/SignUp/MemberSignUp" >Sign Up</a> <p>

或如下所述,您可以使用ActionResult。

但是,您在使用代码时遇到的问题是,您错过了重定向的前导/后退。

答案 4 :(得分:0)

将以下帮助方法添加到视图中:

@Html.ActionLink("Your link text here", "MemberSignUp", "SignUp")

此外,如果您想要一些样式,可以输入:

@Html.ActionLink("Your link text here", "MemberSignUp", "SignUp", null, new{ @class="your-class" })