2013-10-25 58 views
0

我可以訪問Ping.HTML訪問(404)ASPXPing.ASPX但是當我試圖從我的MVC(訪問視圖4.0)項目(已部署到同一服務器,僞造一個,按F5),我得到404不能從查看目錄,而HTML和(正常)ASPX都可以訪問

這是從模板創建的MVC 4與非常默認視圖和控制器(沒有模型香草項目) 。

提示如何解決它?我的想法......

編輯

RouteConfig.cs是這樣

public class RouteConfig 
{ 
    public static void RegisterRoutes(RouteCollection routes) 
    { 
    routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); 
    routes.MapRoute(
     name: "Default", 
     url: "{controller}/{action}/{id}", 
     defaults: new { 
     controller = "Home", action = "Index", id = UrlParameter.Optional } 
    ); 
    } 
} 

Controllers文件夾中只包含一個單一的文件名爲ÄDefault1Controller.cs*。它不僅會:

public class Default1Controller : Controller 
{ 
    public ActionResult Index() 
    { 
    return View(); 
    } 

    public ActionResult Test() 
    { 
    return View(); 
    } 
} 

編輯

(除了單獨的服務器名稱,當然)在實際輸入的網址是:

> http://localhost:49642/Index 
> http://localhost:49642/Index.aspx 
> http://localhost:49642/Home/Index 
> http://localhost:49642/Home/Index.aspx 
> http://localhost:49642/Default/Index 
> http://localhost:49642/Default/Index.aspx 
+0

在VS 7上用VS 2010執行的默認值。到目前爲止我只執行F5執行。我接管了一個預先存在的系統,目前情況有點不清楚。 :) –

+0

你是否試圖請求''Views''文件夾中的文件(也許是.cshtml)?如果是這樣,檢查出問題http://stackoverflow.com/questions/9468683/mvc-accessing-css-image-js-files-in-view-folder – acfrancis

+0

@acfrancis我要求的文件稱爲* View1.ASPX *由默認的*添加視圖*上下文菜單創建。唯一添加的文本是DIV中的「* beep *」。 –

回答

1

根據您所提供的信息,這聽起來像一個路由問題。您請求的URL不會觸發控制器。

編輯

MVC工作按照慣例,這樣的命名控制器Default1Controller匹配的網址將開始/Default1

在你已經給出的實例中,可以僅通過導航訪問Test()方法http://localhost:49642/Default1/Test,這將返回通常位於/Views/Default1/Test.aspx(或/Views/Default1/Test.cshtml用於基於剃刀的視圖)的圖。

請查看routing overview at ASP.NET瞭解有關路線表如何映射到控制器和操作的更多信息。我應該指出,這個鏈接是針對MVC的舊版本的,但你應該明白這一點。

讓我知道,如果我可以進一步幫助。

Matt

+0

我已經設置了默認的* controller =「Home」*和* action =「Index」*,所以F5-press應該在那條線上,對吧?我如何**使愚蠢的服務器路由到正確的地址?!我是否需要跳過默認路由? –

+0

是的,默認請求將使用Index()方法指向一個名爲HomeController的控制器,該方法將返回位於/Views/Home/Index.aspx –

+0

的視圖。哦,您的編輯幾乎可以完成所有工作。 localhost後面的正確後綴是*/Default1/Test *。這表明。但是,由於某種原因,*/Default1/Index *不會提示? –

相關問題