这是一个类似于"How To Disable ASP.NET MVC Url routing"的问题,但尚未得到回答(我认为响应者不理解为什么需要它)。
我有一个现有的应用程序,它使用AngularJS和MVC路由来服务于模板。我想删除MVC url路由,因为它是冗余的(参见下面的注释。我们使用webApi通过ajax返回数据,因此不需要视图/控制器)。
我已经在Global.asax.cs中删除了对RegisterRoutes的调用。除了对System.Web.Routing的引用之外,Web.config中似乎没有任何内容,所以我留下了它。
我在Visual Studio 2012中使用IIS Express。
当应用程序运行时,我得到一个403.14禁止的错误。我已经启用了目录浏览。我已经在Visual Studio的项目中设置了起始页,但尽管文件确实在那里,我还是得到了404。
我曾尝试创建一个非mvc网站,并将web.config的内容复制到我的应用程序中,但这不起作用。
发布于 2013-05-30 17:24:42
如果您是指通过删除末尾的.aspx (www.something/home.aspx);,在C#中,而不是使用
response.redirect("~/home.aspx");使用
server.transfer("~/home.aspx");发布于 2013-05-30 20:14:00
AngularJs路由与ASP.Net MVC Routing无关。
角度路由:
用于将URL深度链接到控制器和视图(超文本标记语言部分)。它监视$location.url()并尝试将路径映射到现有的路由定义。
ASP.Net MVC路由:
ASP.NET routing使您能够使用不必映射到网站中的特定文件的URL。因为URL不必映射到文件,所以您可以使用描述用户操作的URL,因此用户更容易理解。
本质上,AngularJs路由处理客户端路由(使用location ),而ASP.Net MVC处理将http Url映射到http中的适当控制器/操作
https://stackoverflow.com/questions/16832176
复制相似问题