ビューヘルパー(リンク・エンコード)

ビューヘルパー(リンク・エンコード)


【ハイパーリンク生成 ActionLinkメソッド】

ActionLinkはaタグを生成するメソッド。

以下は具体的なコード例
[ビュー]

@Html.ActionLink(
リンクテキスト,
アクション名,
コントローラー名,
ルートパラメーター,
属性
)
arrow_down
[出力結果(HTML)]

 

【ハイパーリンク生成2 RouteLinkメソッド】

RouteLinkもaタグを生成するメソッドであるが、コントローラー名やアクション名をルートパラメーターに
含める形で指定できる。

以下は具体的なコード例
[ビュー]

@Html.RouteLink(
リンクテキスト,
ルートパラメーター,
属性
)
arrow_down
[出力結果(HTML)]

 

【アプリケーションルートからの絶対パス生成(Url.Content/Action/RouteUrl)】
Url.Contentメソッド

「~/」から始まる仮想パスをアプリケーションルートからの絶対パスに変換できる。
基本的に相対パスは使用すべきでないので、リソースを指定する場合等でこれが使える。
※ただし、href,src属性等で指定された「~/…」はRazorが自動で判別して絶対パスに変換してくれる
 ので、属性の中でUrl.Contentを使用する必要はない。

以下は具体的なコード例
 (IIS ExpressのプロジェクトのURLが「http://localhost:56122/FF」の場合)
[ビュー]

arrow_down
[出力結果(画面)]
19
 

Url.Actionメソッド

アクション名、コントローラー名、パラメーター情報を元にアプリケーションルートからの絶対パスを生成。
@Url.Action(
[アクション名],
[コントローラー名],
[ルートパラメーター]
)

以下は具体的なコード例
 (IIS ExpressのプロジェクトのURLが「http://localhost:56122/FF」の場合)
[ビュー]

arrow_down
[出力結果(画面)]
20
 

Url.RouteUrlメソッド

ルートパラメーター情報を元にアプリケーションルートからの絶対パスを生成。
@Url.RouteUrl(
[ルートパラメーター]
)

以下は具体的なコード例
 (IIS ExpressのプロジェクトのURLが「http://localhost:56122/FF」の場合)
[ビュー]

arrow_down
[出力結果(画面)]
21
※ルート名だけを引数に指定した場合、現在のページのURL文字列を生成します。
[ビュー]

[RouteConfig.vb]

arrow_down
[出力結果(画面)]
22

【HTMLエンコード処理(Html.Encodeメソッド)】

HTMLエンコードを行うにはHtml.Encodeメソッドを使用する。
エンコードせずにそのまま出力する場合、@~で出力するか明示的にHtml.Rawメソッドを使用する。

以下は具体的なコード例
[ビュー]

arrow_down
[出力結果(画面)]
23