MVC 3尝试将URL启动到View而不是控制器操作
有时当我启动我的MVC 3项目时,它会尝试为正在呈现的视图加载完全限定的URL,而不是控制器中的操作(这给了我404错误)。 其他时候它工作正常,实际上按照预期的方式击中控制器动作,但它大约是50/50。
它有时会访问的URL是: http://localhost:xxxx/Views/Account/LogOn.cshtml
以下是Global.asax文件中的默认路由设置:
routes.MapRoute( "Default", // Route name "{controller}/{action}/{id}", // URL with parameters new { controller = "Account", action = "LogOn", id = UrlParameter.Optional } );
我也尝试从路由中删除/ {id}参数,因为我觉得登录屏幕不需要它。
有任何想法吗? 目前,该项目的设置非常简单,使用AccountController中的默认操作方法LogOn等。我唯一做的就是更改global.asax文件中的控制器和操作。
您可能正在使用Visual Studio,并且在执行调试时可能正在主动编辑.cshtml页面。
当您查看代码文件或来自不在启动项目中的项目(即您的EF /模型项目)中的文件时,请尝试启动调试器,并查看是否将调试器启动到正确的URL。
项目属性中可能有一个设置指定启动URL。 如果我找到它,我会找它并编辑这篇文章。
试试这个:转到Project Properties
> Web
> Start Action
并检查“ Specific Page
选项 – 将文本框留空。
我猜你使用cassini(VS.Net中的内置开发Web服务器)? 如果是这样的话,我会一直将这个和接缝作为VS.Net中的一个错误。 切换到IIS 7.5,你不再得到它
- 带MemoryStream的FileResult给出空结果..有什么问题?
- ASP.NET MVC – 带图片的文件夹的用户管理(FTP?)
- 指定的架构无效。 错误:未加载关系,因为类型不可用
- ASP.NET核心MVC混合路由/ FromBody模型绑定和validation
- MVC代码优先:自己的模型和SimpleMembership用户之间的一对多关系
- EditorFor / CheckBoxFor boolean将data-val-required属性添加到HTML,而不将必需属性添加到模型中
- JsonConvert.DeserializeObject特殊字符未终止字符串。 预期分隔符:
- 项目构建但无法发布
- 如何将lambda传递给Razor辅助方法?