asp.net-mvc - Bagaimana untuk melakukan penghalaan dalam asp.net mvc?
为情所困
为情所困 2017-05-16 17:06:19
0
1
593

Asp.net mvc selalunya

pengawal/tindakan/parameter

Borang alamat

Tetapi kebanyakan masa, alamat laman web bukanlah laluan sedemikian

Contohnya:

xxxx.com/asp.net/
xxxx.com/asp.net/mvc/
xxxx.com/asp.net/webform/
xxxx.com/asp.net/ado.net/

xxxx.com/javascript/
xxxx.com/javascript/jquery/
xxxx.com/javascript/angularjs/
xxxx.com/javascript/jichu/

xxxx.com/jiaoyu/

Pada masa ini, alamat tidak dalam bentuk pengawal/tindakan/parameter

Saya tidak tahu cara memetakan laluan jenis ini dalam mvc asp.net? ? ?

为情所困
为情所困

membalas semua(1)
阿神

Ini bergantung pada cara peraturan penghalaan anda ditakrifkan dan susunan laluan ditakrifkan.
Jika permintaan ini memasuki model saluran paip ASP.NET, ia akan pergi ke laluan yang dipratentukan untuk melakukan pemadanan Apabila ia menemui laluan padanan pertama, ia akan mengembalikan hasil penghalaan secara langsung.
Sebagai contoh, peraturan penghalaan pertama bagi laluan lalai ialah:

    routes.MapRoute(
        name: "Default",
        url: "{controller}/{action}/{id}",
        defaults: new { controller = "Admin", action = "Login", id = UrlParameter.Optional }
    );

xxxx.com/asp.net/ akan sepadan dengan peraturan penghalaan ini, controller="asp.net", action="Login";
xxxx.com/asp.net/mvc/ juga akan sepadan dengan peraturan penghalaan ini, controller="asp.net", action="mvc";

Andaikan anda mentakrifkan peraturan penghalaan lain dan peraturan penghalaan ini berada di hadapan peraturan penghalaan tadi:

    routes.MapRoute(
        name: "asp.net",
        url: "asp.net/{controller}/{action}/{id}",
        defaults: new { controller = "User", action = "Link", id = UrlParameter.Optional }
    );
    routes.MapRoute(
        name: "Default",
        url: "{controller}/{action}/{id}",
        defaults: new { controller = "Admin", action = "Login", id = UrlParameter.Optional }
    );

xxxx.com/asp.net/ akan sepadan dengan peraturan penghalaan ini, controller="User", action="Link";
Walau bagaimanapun, xxxx.com/cast/ tidak akan sepadan dengan peraturan penghalaan pertama, tetapi akan terus sepadan dengan peraturan penghalaan kedua Pada masa ini, perlawanan akan berjaya, controller="cast", action="Login"

Adalah disyorkan agar anda membaca buku "Menguasai Rangka Kerja ASP.NET MVC3 Bab 11 Peraturan Laluan menyediakan analisis dan pengenalan kepada isu ini.

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan