2016-04-13 10 views
0
私はアントニオにid 1.

ASP MVCのrouteconfig - ユーザー名とURLをカスタマイズする方法

である私が何かをすることができるよ、ユーザー名がある.../Antonio...User/Details/1から変更するために、私のURLをカスタマイズしたい

そのような名前を強制的に:

routes.MapRoute(
        "Name", 
        "{controller}/Antonio/{id}", 
        new { controller = "usuarios", action = "Details", id = UrlParameter.Optional } 
      ); 

しかし、idパラメータはまだ使用されています。それを行う最善の方法は何ですか?

+0

解決策を見つけましたか? –

答えて

0

ただ、このようなHTMLヘルパー

から値をPARAMパラメータとして設定し、それに与える:2つのparams

等で

routes.MapRoute(
       name: "Name", 
       url: "{controller}/{action}/{userName}", 
       defaults: new { controller = "usuarios", action = "Details", userName= UrlParameter.Optional} 
       ); 

編集:

routes.MapRoute(
        "Name", 
        "{controller}/{action}/{username}/{id}", 
        new { controller = "usuarios", action = "Details", id = UrlParameter.Optional } 
      ); 

あなたのアンカー:

@Html.ActionLink("Visit Antonio", "Details", "usuarios", new { id = UserID, username = UserName }, new { }) 

このように、必要な数のパラメータを追加できます。

+0

あなたは 'new {controller =" usuarios "、action =" Details "、id = UrlParameter.Optional、name = UrlParameter.Optional}'のような意味ですか? –

+0

まだIDが必要ですか? {param}のようなパラメータ名を追加するだけで、パラメータを呼び出すとパラメータ値が設定されます。たとえば、new {userName = "Antonio"、その他のパラメータ} –

+0

はい、IDが必要です2人のユーザが同じ名前を持つことができるので、名前だけをコントローラに渡すと、正しいユーザを回復することはできません。 –

関連する問題