19

Html.ActionLink の linkText で HTML タグを使用することは可能ですか? たとえば、リンクのテキストの一部を太字にしたい場合は、次のようにします。

<%= Html.ActionLink("Some <b>bold</b> text", "Index")%>

しかし、それはただ出力するだけです

Some <b>bold</b> text

アンカー タグを使用し、Url.Action で URL を設定することでこれを実行できることはわかっていますが、これが可能かどうかを知りたかっただけです。

4

4 に答える 4

32

Html.ActionLink ヘルパー HTML はリンク テキストをエンコードするため、リンク テキストに HTML を埋め込むことはできません。

これと同じ理由で、Html.ActionLink を使用してタグを渡して画像をハイパーリンクにすることはできません。

リンクの基本的なスタイリングについては、Html.ActionLink オーバーロードの 1 つを使用して、匿名オブジェクト構文を介して CSS スタイルを指定することをお勧めします...

@Html.ActionLink("Please Edit Me", "Edit", null, new { style="font-weight:bold;" })

残念ながら、これはハイパーリンクのテキスト全体に太字を適用しますが、必要なのは Edit という単語だけを太字にすることです。その場合、私はこれを行います...

<a href="@Url.Action("Edit")">Please <b>Edit</b> Me</a>

...またはこれ...

<a href="@Url.Action("Edit")">Please <span style="font-weight:bold;">Edit</span> Me</a>
于 2011-02-08T19:37:04.873 に答える
8

いいえ; 不可能です。
タグを手動で記述する必要があります<a>

于 2011-02-08T18:12:55.510 に答える
1

これは私のために働く:

@Html.Raw(@Html.ActionLink("XXX", "Index", new { }, new { @class = "FormBtn" }).ToHtmlString().Replace("XXX","<u>Back to List</u>"))

基本的に、ActionLink を使用して、置き換えたいもののプレースホルダー ('XXX') を含む html を作成し、それを HTML 文字列に変換し、プレースホルダーをマークアップに置き換え、文字列を HTML.Raw としてレンダリングします。

于 2016-08-19T18:22:21.770 に答える
0

それは不可能ですが、このために を作成することもできます。こちらHtmlHelperを参照するか、代わりに私が推奨するものを使用してください。Url.Action

于 2011-02-08T18:21:13.180 に答える