- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个常规的 webforms 项目(非 MVC),我成功地实现了 MapPageRoute 和 RedirectToRoute 场景。页面路由是通过数据库查找完成的,因为我正在翻译查询字符串(例如?filter=112 到/my-friendly-url)。它在我运行 VWD 2010 Express 和随附的 ASP.NET 开发服务器的开发机器上运行良好。 ASP.NET 版本为 4.0.30319.272。但是,当我在生产 (iis7) 框中运行该项目时,我在映射页面上收到页面未找到错误。网站/页面的其余部分运行良好。我的直觉是页面处理是问题的根源,但我不知道它是什么或为什么。这可能与 iis7 如何处理目录与文件名以及我的程序将物理 .aspx 路由到目录样式名称可能产生的干扰有关。我的 iis7 和 web.config 知识在这方面有点薄弱。
这里是我的 global.asax 的摘录:
void Application_Start(object sender, EventArgs e)
{
// Code that runs on application startup
RegisterRoutes(RouteTable.Routes);
}
public static void RegisterRoutes(RouteCollection routes)
{
routes.Clear();
routes.RouteExistingFiles = false;
routes.Ignore("{resource}.axd/{*pathInfo}"); //ignore axd files, prevents javascript/routing collisions
routes.MapPageRoute("Education", "{category}/{section}", "~/product/education/default.aspx");
routes.MapPageRoute("EducationLanding", "{category}", "~/product/education/default.aspx");
}
Web.config:
的处理程序部分 <handlers>
<remove name="StaticFile" />
<remove name="PageHandlerFactory-Integrated-4.0" />
<add verb="*" path="ajax/*.ashx" name="Ajax" type="Ajax.PageHandlerFactory, Ajax" />
<add name="ScriptResource" preCondition="integratedMode" verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
<add name="PageHandlerFactory-Integrated-4.0" path="*.aspx" verb="GET,HEAD,POST,DEBUG" type="System.Web.UI.PageHandlerFactory" resourceType="Unspecified" requireAccess="Script" preCondition="integratedMode,runtimeVersionv4.0" />
<add name="StaticFile" path="*" verb="*" modules="StaticFileModule,DefaultDocumentModule,DirectoryListingModule" resourceType="Either" requireAccess="Read" />
</handlers>
提前致谢,约翰
最佳答案
查看页面处理将我带到了 web.config 的模块部分,我在 SO ( IIS 7 ignores MapPageRoute without file extentions) 上找到了我的答案。我不知道为什么在我以前的所有搜索中都没有找到这个。看:
<system.webServer>
<modules runAllManagedModulesForAllRequests="true"/>
</system.webServer>
谢谢@Christoph
关于c# - 为什么 MapPageRoute/RedirectToRoute 在开发机器上工作而不在生产服务器上工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16660366/
我正在使用 MapPageRoute 创建到页面的路由,效果很好。但是,我希望页面滚动到底部以显示具有 id bottom 的特定 div。我已尝试创建以下路由,但哈希值已在 URL 中进行编码,因此
我正在使用 asp.net 网络表单。在我的应用程序中,我显示了类似 http://localhost/username 的用户页面 在 RouteConfig.cs 中,我注册了这样的路由: rou
我有一个常规的 webforms 项目(非 MVC),我成功地实现了 MapPageRoute 和 RedirectToRoute 场景。页面路由是通过数据库查找完成的,因为我正在翻译查询字符串(例如
我目前在我的网站上使用 global.asax 进行页面路由。 除了我有以下代码: //Home: routes.MapPageRoute("intro", String.Empty, "~/Defa
我已经创建了一个页面路由,因此我可以将我的 MVC 应用程序与我的项目中存在的一些 WebForms 页面集成: public static void RegisterRoutes(RouteColl
MapPageRoute 是否仅用于 WebForms 而 MapRoute for MVC? 或者这些都适用于 WebForms 和 MVC? 谢谢 最佳答案 MapPageRoute可以在将路由映
我有一个项目,我想在其中使用asp.net路由功能。因此,我在 global.asax Application_start 中添加了一些路由。 这在我的 Windows 7 SP1 上运行良好,但是当
我正在使用 MapPageRoute (ASP.NET 4) 来支持多语言网站中的友好 URL。 我希望能够传递附加参数以及 MapPageRoute 中定义的参数。 在上面的例子中,我需要根据URL
我正在将现有的 ASP.NET 网站迁移到 MVC 项目中。有几个(60+)页我还不想重写,所以我想知道是否有一种方法可以: 将现有的 .aspx 页面(标记和代码隐藏文件)移动到我的 MVC 结构中
我是一名优秀的程序员,十分优秀!