ASP.NET MVC3/Razor '/' 应用程序中的服务器错误

3

当我从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

通常情况下,当我启动应用程序时,浏览器会尝试显示以下网址:http://localhost:49999/,然后执行并呈现DDFController的Index操作。偶尔,VS尝试打开以下网址:http://localhost:49999/Views/DDF/Edit.vbhtml。我不知道为什么它要尝试显示编辑操作,或者为什么它在网址中添加了“.vbhtml”,但是它会出现错误。因此,为什么Visual Studio使用错误的网址(带有vbhtml扩展名),我该如何修复?
2个回答

6
当您使用Visual Studio编辑Web应用程序(Web Forms)时,有一个选项可以在编辑器中加载当前前景页面(在Web应用程序的属性下,Web选项卡下,称为“开始操作:当前页面”)。
这个选项相当简单粗暴,只是启动Internet Explorer(假设这是您的浏览器),并将其路径设置为正在编辑的文件的位置。
由于这不是MVC的工作方式,我不建议使用此选项,而是将其更改为“特定页面”或其他每次启动时加载正确页面的选项。
马丁

2
按照Martin的建议将其更改为“特定页面”,然后将相关文本框留空,这样问题就得到了解决 - 运行时将始终打开站点的“根”。 - Rune Jacobsen
虽然Rune所说的是正确的,但这个更改并没有反映在可以检查的文件中。因此,请注意,如果你正在使用TFS,如果出现问题,你可能需要在所有工作站上手动进行此操作。 - Matt Kocaj

1

你试图直接显示视图,这是不可能的。

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接