簡體   English   中英

沒有global.asax的ASP.NET網頁路由如何工作

[英]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);
    }
}

欲獲得更多信息 :

如何:對Web窗體使用路由

ASP.NET路由在IIS 7.0上不起作用

將ASP.NET MVC 3部署到IIS 6

IIS URL重寫和ASP.NET路由

ASP.NET路由

希望對您有幫助。

網頁框架中有兩種可用的“路由”。 默認路由適用於將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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM