ASP.NET网站上的路由(不是WebForm应用程序,也不是MVC)
我可以使用web.config或Global.asax在asp.net网站文件夹结构中进行路由吗 基本上我想要 去 代理名称仅用于URL中的修饰 我发现了几个例子,但它们都适用于MVC或WebForms应用程序 在尝试实现Global.asax时,它一直说名称空间中不存在System.Web.Routing。这就是我的Global.asax现在无法运行的样子ASP.NET网站上的路由(不是WebForm应用程序,也不是MVC),asp.net,routing,web-config,global-asax,Asp.net,Routing,Web Config,Global Asax,我可以使用web.config或Global.asax在asp.net网站文件夹结构中进行路由吗 基本上我想要 去 代理名称仅用于URL中的修饰 我发现了几个例子,但它们都适用于MVC或WebForms应用程序 在尝试实现Global.asax时,它一直说名称空间中不存在System.Web.Routing。这就是我的Global.asax现在无法运行的样子 <%@ Application Language="C#" %> <%@ Import Namespace="Syste
<%@ Application Language="C#" %>
<%@ Import Namespace="System.Web.Routing" %>
<script runat="server">
void Application_Start(object sender, EventArgs e)
{
RegisterRoutes(System.Web.Routing.RouteTable.Routes);
}
void RegisterRoutes(System.Web.Routing.RouteCollection routes)
{
routes.MapPageRoute("AgentPortfolioByName", "agents/{id}/{name}", "portfolio.aspx");
}
void Application_End(object sender, EventArgs e)
{
}
void Application_Error(object sender, EventArgs e)
{
}
void Session_Start(object sender, EventArgs e)
{
}
void Session_End(object sender, EventArgs e)
{
}
</script>
Global.asax应用程序的启动执行得很好,我试图设置一个断点。但它只是不理解System.Web.Routing是什么。在web.config中,我有以下条目:
<compilation debug="true">
<assemblies>
<add assembly="System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<add assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
<add assembly="System.Data.DataSetExtensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<add assembly="System.Xml.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<add assembly="System.Web.Routing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/></assemblies>
</compilation>
<httpModules>
<add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
<add name="RoutingModule" type="System.Web.Routing.UrlRoutingModule, System.Web.Routing, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
</httpModules>
<system.webServer>
<validation validateIntegratedModeConfiguration="false"/>
<modules>
<remove name="ScriptModule"/>
<add name="ScriptModule" preCondition="managedHandler" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
<add name="UrlRoutingModule" type="System.Web.Routing.UrlRoutingModule, System.Web.Routing, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
</modules>
您可以使用Global.asax实现路由。我认为您在应用程序中丢失了System.Web.Routing.dll引用。请确保您正在引用此文件。另外,请确保在Global.asax中导入System.Web.Routing命名空间。如果有助于理解网站应用程序中处理Global.asax文件,请浏览下面的链接 请随时联系,以便进一步讨论
谢谢,您可以使用Global.asax执行路由。我认为您在应用程序中丢失了System.Web.Routing.dll引用。请确保您正在引用此文件。另外,请确保在Global.asax中导入System.Web.Routing命名空间。如果有助于理解网站应用程序中处理Global.asax文件,请浏览下面的链接 请随时联系,以便进一步讨论
谢谢,如果您没有使用WebForms或MVC,那么您认为您正在使用的是哪种ASP.NET?您知道,在visual studio中,您可以选择“新建项目”->“ASP.NET WebForms应用程序”或“新建网站”。这是一个网站。例如,这意味着Global.asax没有代码隐藏。如果您不使用WebForms或MVC,那么您认为您使用的是哪种其他类型的ASP.NET?您知道,在visual studio中,您可以选择“新建项目->ASP.NET WebForms应用程序”或“新建网站”。这是一个网站。例如,这意味着Global.asax没有代码隐藏。