簡體   English   中英

Asp.net MVC 5屬性路由約束

[英]Asp.net MVC 5 Attribute Routing Constraint

查看ASP.NET MVC 5中的幫助屬性路由,很容易看到如何約束參數,如下所示:

[Route("edit/{promoId:int?}")]
public ActionResult Edit(int? promoId) { … } 

因此,此路由僅接受具有int值或為空的promoId

此路線的一些有效URL為:

/promotions/edit/5
/promotions/edit/

但是,如何設置RouteAttribute接受“ / promotions / edit / promoId = 5”?

實際上,我認為網址應采用以下格式:

/promotions/edit?promoId=5

注意? 這是查詢字符串標記的開始。

應該可以這樣做:

[Route("edit")]
public ActionResult Edit([FromUri]int promoId)
{
    ...
}

您嘗試通過將此類URL指向您的操作來在App_Start文件夾的RouteConfig.cs中進行設置。

routes.MapRoute(
           name: "Edit",
           url: "{controller}/{action}/promoId={promoId}",
           defaults: new { controller = "Promotions", action = "Edit", promoId = UrlParameter.Optional }
);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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