* HTMLヘルパー ActionLink [#w9b33181]
** Html.ActionLink [#f51dc9c9]
@Html.ActionLink(
"詳細", // リンク・テキスト
"Details", // アクション名
"Books", // コントローラ名
new { id = Model.Isbn }, // ルート・パラメータ
new { @class = "menu" } // そのほかの属性
)}
http://msdn.microsoft.com/ja-jp/library/dd504972(v=vs.108).aspx
** 匿名型で使えないキー名を指定するには [#a2d64d90]
*** タグの属性のハイフンはアンダーバーに変換する [#oa6b4082]
<a data-val="foo">CLICK</a>
↓
@Html.ActionLink("Goto","Index","Home",null, new {data_val = "foo"})
http://www.itorian.com/2013/02/ajaxactionlink-and-htmlactionlink-in-mvc.html
*** DictionaryもしくはRouteValueDictionaryを使う [#ad9149e5]
@Html.ActionLink("Edit", "edit", "markets",
@Html.ActionLink("Edit", "edit", "markets",
new RouteValueDictionary { { "foo.bar.baz", "abc" } },
new Dictionary<string, object> { { "class", "ui-btn-right" }, { "data-icon", "gear" } });
- http://stackoverflow.com/questions/4108943/actionlink-htmlattributes/4110661#4110661
- http://msdn.microsoft.com/en-us/library/system.web.routing.routevaluedictionary(v=vs.98).aspx
** クエリストリングではなくURLでIDを渡す [#c658c6ef]
*** ViewでのActionLinkの使い方 [#d5fa77a0]
@Html.ActionLink("ユーザ詳細", "detail", "user", new { id = Model.User_id }, null)
↓これで作成されるAタグ
<a href="/user/detai/123">ユーザ詳細</a>
*** ControllerでのURLパラメータの受け取り方 [#xe8c0e82]
[HttpGet]
public ActionResult Detail(int user_id) { }
*** デフォルトのRouteConfig.cs [#c49c170f]
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
このような<a href="/user/detai/123">のIDの受け取り方は↑で指定されている。
** 動的なクエリパラメータを渡す [#xc5c4824]
@{
RouteValueDictionary tRVD = new RouteValueDictionary(ViewContext.RouteData.Values);
foreach (string key in Request.QueryString.Keys )
{
tRVD[key]=Request.QueryString[key].ToString();
}
}
@Html.ActionLink("Export to Excel", // link text
"Export", // action name
"GridPage", // controller name
tRVD,
new Dictionary<string, object> { { "class", "export" } }) // html attributes
http://stackoverflow.com/questions/6165700/add-query-string-as-route-value-dictionary-to-actionlink
** リファレンス [#b8aa730e]
: MSDN Rendering a Form Using HTML Helpers | http://msdn.microsoft.com/en-us/library/dd410596(v=vs.98).aspx
: w3schools.com ASP.NET Razor | http://www.w3schools.com/aspnet/razor_intro.asp
: w3schools.com ASP.NET MVC - HTML Helpers | http://www.w3schools.com/aspnet/mvc_htmlhelpers.asp
: ASP.NET MVC 3 開発入門 (16) - HTML ヘルパーを活用 | http://shiba-yan.hatenablog.jp/entry/20110327/1301152413
: ASP.NET MVC入門 第3回 モデル・バインドとアノテーション検証の実装 | http://www.atmarkit.co.jp/fdotnet/aspnetmvc3/aspnetmvc3_04/aspnetmvc3_04_02.html