2017-07-07 75 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