web-dev-qa-db-ja.com

Html.ActionLinkのlinkText内でHTMLタグを使用する

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

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

しかし、それはただ出力します

Some <b>bold</b> text

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

17
Tim Banks

番号;不可能です。
<a>タグを手動で書き込む必要があります。

7
SLaks

Html.ActionLinkヘルパーHTMLは、リンクテキストをエンコードします。これにより、リンクテキストにHTMLを埋め込むことができなくなります。

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

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

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

残念ながら、必要なのがWord 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>
31

これは私のために働きます:

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

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

1
zlspjp

それは不可能ですが、これにはHtmlHelperを作成できます。 ここ を参照するか、代わりにUrl.Actionを使用することをお勧めします。

0
Martin Buberl