HTMLヘルパー ActionLink

Html.ActionLink

 @Html.ActionLink(
   "詳細",                  // リンク・テキスト
   "Details",               // アクション名
   "Books",                 // コントローラ名
   new { id = Model.Isbn }, // ルート・パラメータ
   new { @class = "menu" }  // そのほかの属性
 )}

http://msdn.microsoft.com/ja-jp/library/dd504972(v=vs.108).aspx

匿名型で使えないキー名を指定するには

タグの属性のハイフンはアンダーバーに変換する

 <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を使う

 @Html.ActionLink("Edit", "edit", "markets",
      new RouteValueDictionary { { "foo.bar.baz", "abc" } },
      new Dictionary<string, object> { { "class", "ui-btn-right" }, { "data-icon", "gear" } });

クエリストリングではなくURLでIDを渡す

ViewでのActionLinkの使い方

 @Html.ActionLink("ユーザ詳細", "detail", "user", new { id = Model.User_id }, null)

↓これで作成されるAタグ

 <a href="/user/detai/123">ユーザ詳細</a>

ControllerでのURLパラメータの受け取り方

 [HttpGet]
 public ActionResult Detail(int user_id) { }

デフォルトのRouteConfig.cs

 routes.MapRoute(
     name: "Default",
     url: "{controller}/{action}/{id}",
     defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
 );

このような<a href="/user/detai/123">のIDの受け取り方は↑で指定されている。

動的なクエリパラメータを渡す

 @{ 
    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

リファレンス

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

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS

Last-modified: 2014-03-19 (水) 10:20:29