2017-07-07 74 views
-1

我有一个按钮在asp.net MVC 5网络应用程序,我试图将用户重定向到.aspx文件。 因此,当用户点击一个来自asp.net MVC的按钮(该按钮的代码是HTML)时,他将被重定向到一个web表单(.apsx)。 我试过这段代码,但它不起作用。从asp.net mvc应用程序重定向到.aspx文件?

<button id="Login" runat="server" OnClientClick="window.open('Login.aspx', 'Login');">Login </button> 

回答

0

您必须在Action方法中调用.aspx页面。

public ActionResult Login() 
    { 
     return Redirect("~/Login.aspx"); 
    } 
+0

我只是从asp.net开始,请告诉我在哪里添加此代码?我想将它添加到按钮。 – User005

+0

为什么它必须在服务器上?这很容易在客户端完成。 – mason

+0

您可以使用Postbackurl

-1

您的代码看起来不像Razor View Code。 你可以这样做多种方式

1. <button onclick="window.open('Login.aspx')">Login</button> 2.使用剃刀

<button onclick="location.href='@Url.Action("Login","Login")'">Login</button> 

感谢 帕塔

+0

您无法使用Url.Action来为Web窗体页面生成URL。不过,您可以使用Url.Content。 – mason

0
<a href="@Url.Content("~/Login.aspx")"> 
    <button type="button">Login</button> 
</a> 

你可以在一个超链接嵌入一个按钮,使得它看起来像一个按钮,但像链接一样工作。诀窍是正确设置URL。在混合的Web Forms/MVC项目中,我使用Url.Content帮助程序,因为它尊重虚拟根目录。但是,您可能会创建一个路线类。

public class WebFormsRoutes 
{ 
    public const string LoginPage = "~/Login.aspx"; 
} 

采用进口相应的命名空间,你可以再做:

<a href="@Url.Content(WebFormsRoutes.LoginPage)"> 
    <button type="button">Login</button> 
</a> 

您也可以考虑看routing documentation。您可以注册您自己的Web表单路线,以获得更友好的URL