Asp.net mvc 如何修复从视图运行时的Url(~/Views/Home/Index.cshtml)

Asp.net mvc 如何修复从视图运行时的Url(~/Views/Home/Index.cshtml),asp.net-mvc,asp.net-mvc-4,razor,asp.net-mvc-routing,Asp.net Mvc,Asp.net Mvc 4,Razor,Asp.net Mvc Routing,我正在使用MVC4VS 2012 Express for Web开发一个网站。通常,当我直接从视图运行时,例如Home Controller中的Index视图,我在url地址栏上得到了“”,但现在我得到了“” 我不会更改RouteConfig类上的路由,正如您在下面的代码中看到的那样 public class RouteConfig { public static void RegisterRoutes(RouteCollection routes) { rout

我正在使用MVC4VS 2012 Express for Web开发一个网站。通常,当我直接从视图运行时,例如Home Controller中的Index视图,我在url地址栏上得到了“”,但现在我得到了“”

我不会更改RouteConfig类上的路由,正如您在下面的代码中看到的那样

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 }
        );
    }
}

为什么会发生这种情况以及如何解决?

请尝试呼叫控制器:

http://localhost:62335/Home/
转到项目的属性并设置“起始页”属性

  • 转到项目的属性

  • 转到Web选项卡

  • 选择特定页面单选按钮
  • 在特定页面文本框中键入所需的url,即

尝试呼叫控制器:

http://localhost:62335/Home/
转到项目的属性并设置“起始页”属性

  • 转到项目的属性

  • 转到Web选项卡

  • 选择特定页面单选按钮
  • 在特定页面文本框中键入所需的url,即

我发布这个答案是为了给出一个清晰的答案,并发现它更简单

如中所述

您应该转到
项目属性
,然后转到
Web选项卡
,并将其留空


我想知道为什么我们应该手动刷新它

我发布这个答案是为了给出一个清晰的答案,并发现它更简单

如中所述

您应该转到
项目属性
,然后转到
Web选项卡
,并将其留空


我想知道为什么我们应该手动刷新它

当我直接从视野中跑开时,你是什么意思?您是否在视图中生成链接?@StephenMuecke,打开Index.cshtml并按“F5”运行webOK,查看Ash的答案(注意,您实际上不需要键入任何内容-如果文本框留空,它将变为默认值)@StephenMuecke我认为这与常见行为不同,当我打开另一个视图(例如用户索引页)并按F5键时,它将自动打开用户索引页。当我直接从该视图运行时,您的意思是什么?您是否在视图中生成链接?@StephenMuecke,打开Index.cshtml并按“F5”运行webOK,查看Ash的答案(注意,您实际上不需要键入任何内容-如果文本框留空,它将变为默认值)@StephenMuecke我认为这与常见行为不同,当我打开另一个视图(例如用户索引页)并按F5键时,它将自动打开用户索引页。我已经尝试过,但不起作用。我不想让它静止。我的意思是它总是直接指向你。如果您打开另一个视图,例如~/Views/User/Index.cshtml,当您单击F5运行web时,它应该会打开用户索引页MVC应该与控制器一起工作,而不是基于视图。这个例子只是提供了一个快速解决方法。这不是一个解决办法。您必须设置默认路由,并且控制器方法必须处理调用。不是视图。是的,你是对的,我知道,但这很奇怪,通常当我在MVC中开发并想要测试结果时,我只需按F5键,IE就会自动显示相应的页面。事实上,我想知道为什么UrlViews中会有“Views”这个词对应于这里的文件夹结构mate:)我已经试过了,但是没有用。我不想让它静止。我的意思是它总是直接指向你。如果您打开另一个视图,例如~/Views/User/Index.cshtml,当您单击F5运行web时,它应该会打开用户索引页MVC应该与控制器一起工作,而不是基于视图。这个例子只是提供了一个快速解决方法。这不是一个解决办法。您必须设置默认路由,并且控制器方法必须处理调用。不是视图。是的,你是对的,我知道,但这很奇怪,通常当我在MVC中开发并想要测试结果时,我只需按F5键,IE就会自动显示相应的页面。实际上,我想知道为什么URLview中会有“Views”这个词,它对应于这里的文件夹结构mate:)