asp.Netcoreはルーティング接続を生成し、パラメータの取得とモデルバインドを要求する方法

1555 ワード

asp.Netcoreでは、ルーティング接続を生成する方法は以下の通りです.
例えばGroupコントローラの下にあるIndexというアクションに対応して書けばいいです
トップページ
adminサブ領域の場合
Groupコントローラの下にあるIndexというアクションは、このように書きます
トップページ
パラメータを追加する必要がある場合は、注意が必要です.asp.Netcoreはパラメータ付きリンクを生成するのは簡単すぎますが、現在はドキュメントが少なすぎて、使い方が分からない人が多いです.
例えば次のグループコントローラのアクション
public async Task GetGroupAuthorizes(string groupId)
groupIdパラメータ付きリンクを生成するには、次のように書きます.
  
注意、
asp-route-{パラメータ}="」というフォーマットで書きます.
しかし、このように生成されたリンクは、デフォルトのルーティング設定を使用すると次のようになります.
http://localhost:5000/Admin/group/GetGroupAuthorizes/?groupId=6448dbf2-b96a-4262-bd1f-f21a8d6c2d7d
リンクをより美しく見せたいなら、例えば次のように
http://localhost:5000/Admin/group/GetGroupAuthorizes/6448dbf2-b96a-4262-bd1f-f21a8d6c2d7d
には高度なaspが必要です.Netcore特性、
カスタムモデルバインド
元のアクションコードを
public async Task GetGroupAuthorizes([ModelBinder(Name = "id")]string groupId)
そうすると、ActionパラメータgroupIdは、idというパラメータをカスタム設定でバインドし、asp.Netcoreで生成されたリンクは
http://localhost:5000/Admin/group/GetGroupAuthorizes/6448dbf2-b96a-4262-bd1f-f21a8d6c2d7d