2011-11-17 59 views
0

我已經繼承了ASP.NET MVC 3應用程序。我對MVC 3一無所知。我已經使用了ASP.NET Web Forms 5年以上。當我嘗試從Visual Studio啓動應用程序時,我收到404。瀏覽器指向http://localhost/Account/Logon。我注意到,在我的項目,有:ASP.NET MVC 3 - 404當啓動應用程序

  • /Controllers/AccountController.cs
  • /Views/Account/LogOn.cshtml

我假定這就是應該啓動.I've在Global.asax.cs中設置斷點,發現我正在通過以下事件重定向到這個頁面:

void WSFederationAuthenticationModule_AuthorizationFailed(object sender, AuthorizationFailedEventArgs e) 
{ 
    e.RedirectToIdentityProvider = false; 
    HttpContext.Response.Redirect("/Account/Logon"); 
} 

當我啓動應用程序,我得到一個404,我完全失去了問候如何解決這個問題。我也不知道如何在MVC世界中「設置爲起始頁」。有人能幫我克服這個障礙嗎?我只想運行該應用程序。非常感謝你!

+0

這可能是一個愚蠢的問題,但你已經安裝在你的開發MVC3做框? – simonlchilds

+0

從頭開始,如果沒有,您可能無法構建應用程序。看,告訴你這是愚蠢的! – simonlchilds

+0

這裏是我找到我的答案:http://stackoverflow.com/questions/3877339/asp-net-mvc-beta-authorize-attribute-sends-me-to-wrong-action –

回答

1

我假定這就是應該推出

不,你的假設是錯誤的。在ASP.NET MVC中,你從不直接訪問視圖。你總是通過一個控制器動作,對模型執行一些處理並返回一個視圖。

所以,當你要求/Account/Logon(假設默認的路由),它是在AccountControllerLogon行動應該執行:

public class AccountController: Controller 
{ 
    public ActionResult Logon() 
    { 
     ... 
    } 
} 

如果這樣的行動或控制器不存在於該項目,你會得到404 。

之前與繼承的項目,我會強烈建議您通過以下一些教程在這裏與ASP.NET MVC的基礎知識,熟悉自己在進行任何進一步的:http://asp.net/mvc

2

如果調用

http://localhost/Account/Logon

MVC,如果你在Global.asax中沒有改變路線,尋找

  • 一個控制器命名爲 「帳戶

  • 方法「LogOn「。

如果ActionMethod 「Account.LogOn」 返回查看,MVC眺望查看/帳號/目錄,並試圖找到你LogOn支持查看。

很多更多信息的:

Asp.NET MVC

Phil Haack´s Blog

Scott Guthrie´s Blog

希望這有助於

+0

嗨dknaack,我注意到有一個方法,看起來像公共ActionResult LogOn() { return View(「LogOn」); }此方法位於位於/Controllers/AccountController.cs的文件中。所以我很困惑,爲什麼我得到了404。任何想法? –

+0

對,控制器中的方法是「actionMethods」,它們必須返回ActionResult或派生類型。你有沒有Views/Account文件夾和一個LogOn文件? – dknaack

+0

我有一個Views/Account文件夾。該文件夾包含一個名爲LogOn.cshtml的文件。 –

相關問題