【问题标题】:ASP.NET MVC3/Razor Server Error in '/' Application“/”应用程序中的 ASP.NET MVC3/Razor 服务器错误
【发布时间】:2012-07-20 04:59:31
【问题描述】:

当我从 Visual Studio“运行”一个 MVC 应用程序时,我遇到了间歇性错误。这是错误:

“/”应用程序中的服务器错误。

找不到资源。 说明:HTTP 404。您要查找的资源(或其依赖项之一)可能已被删除、名称已更改或暂时不可用。请查看以下 URL 并确保其拼写正确。

请求的 URL:/Views/DDF/Edit.vbhtml


版本信息:Microsoft .NET Framework 版本:4.0.30319; ASP.NET 版本:4.0.30319.225

我的默认路由设置如下:

Shared Sub RegisterRoutes(ByVal routes As RouteCollection)
    routes.IgnoreRoute("{resource}.axd/{*pathInfo}")
    routes.MapRoute( _
        "Default", _
        "{controller}/{action}/{id}", _
        New With {.controller = "DDF", .action = "Index", .id = UrlParameter.Optional} )
End Sub

通常,当我启动应用程序时,浏览器会尝试显示 url http://localhost:49999/ 并执行并呈现 DDFController 的 Index 操作。偶尔,VS 会尝试打开以下 url:

http://localhost:49999/Views/DDF/Edit.vbhtml

我不知道为什么它会尝试显示编辑操作,或者为什么会在 url 中添加“.vbhtml”,但它失败并出现错误。

那么,为什么 Visual Studio 使用了错误的 url(带有 vbhtml 扩展名),我该如何解决?

【问题讨论】:

    标签: asp.net-mvc visual-studio-2010 asp.net-mvc-3


    【解决方案1】:

    当您使用 Visual Studio 编辑 Web 应用程序(Web 表单)时,有一个选项可以加载您当前在编辑器中位于前台的页面(它位于 Web 应用程序的属性、Web 选项卡和称为开始操作:当前页面)。

    它非常粗略,只需启动 Internet Explorer(假设这是您的浏览器)并带有您正在编辑的文件位置的路径。

    由于这不是 MVC 的工作方式,我不建议使用此选项,而是将其更改为“特定页面”或其他每次启动时加载正确页面的选项

    马丁

    【讨论】:

    • 像 Martin 说的那样将其更改为“特定页面”,然后将相关文本框留空为我解决了这个问题 - 站点的“根”将始终在您运行时打开。跨度>
    • 虽然 Rune 说的是真的,但此更改不会反映在可以签入的文件中。因此请注意,如果您使用的是 TFS,您可能必须在所有工作站上手动执行此操作如果有问题。
    【解决方案2】:

    您正在尝试直接显示视图,这是无法完成的。

    当您在其中打开视图时,Visual Studio 有时会将错误的 URL 传递给浏览器。不用担心,只需将 URL 更改为您知道有效的 URL。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-10-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多