asp.net-mvc - Default.aspx 未在 ASP.NET 项目中使用 MVC 部分执行

标签 asp.net-mvc

我的应用程序主要是一个 ASP.NET 应用程序,我正在向它添加一个 MVC 部分。

我的 Default.aspx(无代码隐藏)页面有一个简单的 Response.Redirect 到 StartPage.aspx 页面,但由于某种原因 MVC 正在接管,我没有进入 StartPage.aspx 页面。相反,我被路由到我的第一个也是唯一一个 MVC 部分,这是我在 global.asax.cs 页面(相册)中注册的注册路由。

有没有办法告诉 MVC 将我的请求留在根“/”作为我的 IIS 7 默认文档......在这种情况下是 Default.aspx?

这是我的 RegisterRoutes 中的内容:

routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute("Albums","{controller}/{action}/{id}",
    new { controller = "Albums", action = "Index", id = "" });

最佳答案

如果您从那里的第二条路由中删除默认 Controller ,它将不再与“/”匹配并且路由将忽略对“/”的请求,将它们留给通常的 ASP.Net 管道来处理

因此,将您的路线更改为:

routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); 
routes.MapRoute("Albums","{controller}/{action}/{id}",
     new { action = "Index", id = "" });

那应该可以解决您的问题!

关于asp.net-mvc - Default.aspx 未在 ASP.NET 项目中使用 MVC 部分执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/805285/

相关文章:

javascript - 如何在 ajax 调用的 iframe 中加载部分 View ?

c# - 如何根据 ASP.NET VNEXT MVC6 中给出的路径进行虚拟路由/重定向?

asp.net-mvc - 如何识别抛出 System.Data.SqlClient.SqlException 的列? (将 datetime2 数据类型转换为 datetime 数据类型)

c# - 提交的 double "10.03"变为 "1003"。为什么?

c# - MVC 代码查看 Controller 是否仍在使用中

asp.net-mvc - 来自 Gelf4Net 的消息不存储在 Graylog2 中

c# - 重定向到 void 函数中的操作

c# - 在 MVC 上使用基于 Microsoft 站点的 WordprocessingDocument 后收到消息 "MEMORY STREAM IS NOT EXPANDABLE"

asp.net - 为什么 MVC4 Razor 布局文件中无法识别 @Scripts 和 @Styles 命令?

c# - ASP.NET MVC DataAnnotation 需要 3 个属性中的 1 个