我已经在线阅读了一些教程,它们似乎都显示了使用ASP.net Web表单的.net路由的相同逻辑。当我执行下面的URL时,我收到404错误。 Test.aspx位于此应用程序的根文件夹中。
http://www.mydomain.com/member/abc
这是我的global.asax内容:
<%@ Application Language="C#" %>
<%@ Import Namespace="System.Web.Routing" %>
<script runat="server">
void RegisterRoutes(RouteCollection routes)
{
routes.MapPageRoute(
"TestABC",
"member/{name}",
"~/Test.aspx");
}
void Application_Start(object sender, EventArgs e)
{
RegisterRoutes(RouteTable.Routes);
}
void Application_End(object sender, EventArgs e)
{
// Code that runs on application shutdown
}
void Application_Error(object sender, EventArgs e)
{
}
void Session_Start(object sender, EventArgs e)
{
// Code that runs when a new session is started
}
void Session_End(object sender, EventArgs e)
{
// Code that runs when a session ends.
// Note: The Session_End event is raised only when the sessionstate mode
// is set to InProc in the Web.config file. If session mode is set to StateServer
// or SQLServer, the event is not raised.
}
</script>
我的web.config文件需要做些什么吗?
非常感谢任何帮助。
答案 0 :(得分:0)
我猜你在点击iis服务器时没有触发你的路由模块。 作为验证这是原因的测试:更改webconfig以根据请求运行所有托管模块。 你需要设置这个:
<modules runAllManagedModulesForAllRequests="true">
如果解决了这个问题,你可以阅读this resource了解为什么不这样做:)