強く型付けされたアクションリンクからアクションリンクを作成する際に、アクションパラメータリスト以外のパラメータを追加するためのオーバーロードはないと思います。私が望むのは、クエリ文字列で利用可能な余分なパラメータを追加することです。
たとえば、コントローラMyAction(int id)をコントローラMyControllerで実行します。 MyController/MyAction/5のようなリンクが生成されますが、私が望むのはこのようなクエリ文字列を追加することです。 MyController/MyAction/5?QS =値。これを達成するために、強く型付けされたアクションリンクを使用する方法はありますか?MvcのQueryStringパラメータ強く型付けされたアクションリンク
3
A
答えて
1
このためにカスタムヘルパーを作成します。このような何か試してみてください:
public static string MyActionLinkWithQuery<TController>(this HtmlHelper helper, Expression<Action<TController>> action, string linkText,
RouteValueDictionary query) where TController : Controller
{
RouteValueDictionary routingValues = ExpressionHelper.GetRouteValuesFromExpression(action);
foreach(KeyValuePair<string, object> kvp in query)
routingValues.Add(kvp.Key, kvp.Value);
return helper.RouteLink(linkText, routingValues, null);
}
4
<%=Html.ActionLink(LinkName, Action, Controller, new { param1 = value1, param2 = value2 }, new { })%>
0
をあなたは自分のルーティング設定を変更、拡張メソッドを作成する必要はありません。
routes.MapRoute(null,
"MyController/MyAction/{id}",
new { controller = "MyController", action = "MyAction", id="" } // Defaults
);
routes.MapRoute(
null
, // Name
"{controller}/{action}", // URL
new { controller = "MyController", action = "MyAction" } // Defaults
);
関連する問題
- 1. ASP.NET MVC Web APIがQueryStringを強く型付けされたパラメータにマッピングしないようにする
- 2. ASP.NET MVC多態性と強く型付けされたビューMVC
- 3. MVC HttpPost強く型付けされたモデルのヌル
- 4. ASP.Net MVC複数のモデルで強く型付けされたビュー
- 5. 強く型付けされたパラメータにC#の名前?
- 6. asp.net mvc views強く型付けされたビューデータ
- 7. 強く型付けされた部分ビューMVC RC1
- 8. 強く型付けされたURLアクション
- 9. 強く型付けされたRadioButtonlist
- 10. 強く型付けされたList.GroupBy()
- 11. Asp.net MVCで強く型付けされたビューを持つハンドルチェックボックスMVC
- 12. 本当に強く型付けされた型のプロバイダ
- 13. MVCアプリケーションで強く型付けされたビューで特定の行のデータを取得する方法..? (クラス名と強く型付けされたビュー:BusDetails.cs)
- 14. MongoDBドライバC#強く型付けされたネストされたインデックス
- 15. 強く型付けされたASP.NET MVCセッションのより良い方法
- 16. 動的型と強く型付けされた要素
- 17. 強い型付けされたコンテナ
- 18. フォーマット強く型付けされた要素の値
- 19. つ以上のテーブル(強く型付けされた)
- 20. 強く型付けされたenumのC++変換
- 21. オプションの強く型付けされたコンパイラ
- 22. C#MongoDBドライバは強く型付けされたフィルタの使用
- 23. ASP.NET強く型付けされたappsettings.jsonのオプション
- 24. エンタープライズライブラリの使用データアクセスアプリケーションブロック(強く型付けされたデータセット)
- 25. 強く型付けされたHTMLヘルパーのHTMLコード
- 26. タイムアウトの質問。強く型付けされたデータセットとオブジェクトデータソース
- 27. 強く型付けされたクライアント側の言語ですか?
- 28. 強く型付けされた言語の違いは?
- 29. MVC6強く型付けされたアクションのリンクとビュー
- 30. 強く型付けされたオブジェクトのリストをシリアライズ
私はこれをやっていた:Html.ActionLink @(」」、 ToString、 "Controller"、{.area = "MyArea"}で新しく、{.class = "imgNew"}で新規作成)、この作品は、 "作成"& "?" parID =自動&parController = "&ViewData("アクション " MVC2では、私はMVC3で同じことをしようとするとき、私はこのエラーが表示されます:**潜在的に危険なRequest.Path値がクライアントから検出されました**。明らかにパラメータが問題だったので、@ Html.ActionLink( ""、 "Create"、 "Controller"、{.area = "MyArea"、.parID = "Automatic"、.parController = ViewData( " Action ")。ToString}、{.class =" imgNew "}で新規作成)。 –