2016-03-28 38 views
1

以下に示すように、動作しているコントローラがあります。 のパラメータは、「ウィジェット」、「A09912」、または「W-0-090-B」のようなものです。パラメータにハイフンがあると、ルーティングが失敗します。ハイフンを含む可能性があるASP.NET MVCルートパラメータ

[HttpGet] 
[Route(@"Product/{name:alpha}")] 
public ActionResult Index(string name) 
{ 
    IList<Product> list = Repository.GetByName(name); 
    return View(list); 
} 

ハイフネーションされたパラメータが動作するように、物事を設定する方法はありますか?

答えて

1

はい、ハイフネーションされたパラメータが機能するように設定する方法があります。

alpha制約を削除します。

{X:アルファ}はハイフン付きのパラメータを含めることによって、大文字または小文字のラテンアルファベット文字(AZ、AZ)

にマッチし、それが制約と一致していないあなた現在使用中です。

ASP.NET Web API 2の属性ルーティングでRoute Constraintsをご覧ください。

関連する問題