[英]How does routing for ASP.NET Web Pages work without global.asax
安裝了ASP.Net 4.0的Web服務器,已部署Web Pages 2.0 DLLs bin。 用cshtml / razor編寫的頁面,但路由不起作用。
僅使用網頁而不是完整的MVC(在global.asax中定義了路由)時,服務器上激活路由需要什么?
現在,我只能使用傳統的URL和查詢字符串來調用頁面。
任何指針表示贊賞。
Web表單應用程序
Global.asax中
protected void Application_Start(object sender, EventArgs e)
{
RegisterRoutes(RouteTable.Routes);
}
public static void RegisterRoutes(RouteCollection routes)
{
routes.MapPageRoute("",
"Category/{action}/{categoryName}",
"~/categoriespage.aspx");
}
MVC應用
Global.asax中
public class MvcApplication : System.Web.HttpApplication
{
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = "" } // Parameter defaults
);
}
protected void Application_Start()
{
RegisterRoutes(RouteTable.Routes);
}
}
欲獲得更多信息 :
希望對您有幫助。
網頁框架中有兩種可用的“路由”。 默認路由適用於將URL匹配到文件路徑的情況。 它非常靈活,因為它允許添加其他URL段,這些段用於填充UrlData
字典,並可以實現一些友好的SEO友好URL構造。 我在這里寫過: WebMatrix-URL,UrlData和SEO路由 。
第二種路由,類似於MVC中可用的路由,需要安裝一個軟件包: 網頁路由 。 安裝完此文件后,您可以將RouteCollection
填充到_AppStart.cshtml文件(您需要自己創建)中,也可以在global.asax的Application_Start
中進行填充。 選擇添加文件時,可以通過在“選擇文件類型”對話框中選擇“全部”選項來添加global.asax文件。
如果您想知道如何使用路由包,我也已經寫過:面向ASP.NET網頁的更靈活的路由
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.