LCJ*_*LCJ 60 asp.net asp.net-mvc razor asp.net-mvc-3
我是ASP.Net MVC的新手.我刚刚在Visual Studio 2010中创建了一个MVC3项目.视图引擎是剃须刀.当我刚运行应用程序时,它在浏览器中给出了正确的结果.URL为http:// localhost:4163 /.然后我将"设置为起始页"应用于〜\ Views\Home文件夹中的Index.cshtml.然后当我运行应用程序时,url变为 http:// localhost:4148/Views/Home/Index.cshtml ,它说无法找到资源.我该怎么做才能纠正它?网址映射在哪里完成?
Global.asax文件:
using System.Web.Mvc;
using System.Web.Routing;
namespace TEST
{
public class MvcApplication : System.Web.HttpApplication
{
    public static void RegisterGlobalFilters(GlobalFilterCollection filters)
    {
        filters.Add(new HandleErrorAttribute());
    }
    public static void RegisterRoutes(RouteCollection routes)
    {
        routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
        routes.MapRoute(
            "Default", // Route name
            "{controller}/{action}/{id}", // URL with parameters
            new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults
        );
    }
    protected void Application_Start()
    {
        AreaRegistration.RegisterAllAreas();
        RegisterGlobalFilters(GlobalFilters.Filters);
        RegisterRoutes(RouteTable.Routes);
    }
    }
 }
Run Code Online (Sandbox Code Playgroud)
    gre*_*g84 93
URL映射或"路由"由ASP.NET MVC站点的根目录中的Global.asax处理.
单击"设置为起始页"时,它会更改项目设置以查找相对于应用程序根目录的文件.但是在MVC中,实际上是指向索引页面的默认路径http://localhost:4163/Home/Index- 阅读类似这样的内容,以了解路由的工作原理.
要"修复"项目,因为它正在尝试(并且失败)直接导航到视图,右键单击项目并选择" Properties",单击" Web"选项卡并选择" Specific Page",将文本框留空.现在,当您开始调试时,它应该再次转到主页 - 查看默认路由参数以查看Global.asax中RegisterRoutes方法中的原因
小智 24
确保在控制器文件夹中创建了HomeController.cs类.
小智 6
我也得到了相同的html-404错误:
无法找到资源.说明:HTTP 404.您要查找的资源(或其中一个依赖项)可能已被删除,名称已更改或暂时不可用.请查看以下网址,确保拼写正确.
但仔细检查后,我发现我已将控制器的名称保留为Default1Controller而不是将其更改为HomeController.当我进行更改并调试应用程序时,它工作.希望如果您遇到同样的问题,它会对您有所帮助.
小智 5
按照以下步骤运行asp.net mvc应用程序.
控制器创建
右键单击controllers文件夹并添加控制器.注意 - 不要删除Controller后缀.它的ASP.NET MVC约定.
将控制器的名称命名为"DemoController",您可以在"DemoController"中看到"Index"操作.当您创建控制器时,"索引"是默认操作.
查看创建
右键单击"索引"操作名称并保留默认视图名称即"索引",然后单击"添加"按钮.
路径设置打开Global.asax文件,然后您将看到路由的默认设置映射到"Home"控制器,"Index"操作将其更改为"Demo"控制器和"Index"操作.URL映射是用Global.asax文件编写的.当您打开Global.asax文件时,您将看到以下设置:
routes.MapRoute(
        "Default", // Route name
        "{controller}/{action}/{id}", // URL with parameters
        new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults
    );
Run Code Online (Sandbox Code Playgroud)
将其更改为:
routes.MapRoute(
        "Default", // Route name
        "{controller}/{action}/{id}", // URL with parameters
        new { controller = "Demo", action = "Index", id = UrlParameter.Optional } // Parameter defaults
    );
Run Code Online (Sandbox Code Playgroud)运行您的应用程序,您可以看到您的应用程序正在运行
|   归档时间:  |  
           
  |  
        
|   查看次数:  |  
           166744 次  |  
        
|   最近记录:  |