Reputation: 13006
Given the following Html.ActionLink:
@Html.ActionLink(Model.dsResults.Tables[0].Rows[i]["title"].ToString(), "ItemLinkClick",
new { itemListID = @Model.dsResults.Tables[0].Rows[i]["ItemListID"], itemPosNum = i+1 }, ...
Data from the model contains HTML in the title field. However, I am unable to display the HTML encoded values. ie. underlined text shows up with the <u>....</u>
around it.
I've tried Html.Raw in the text part of the ActionLink, but no go.
Any suggestions?
Upvotes: 5
Views: 8920
Reputation: 2388
If you still want to use a helper to create an action link with raw HTML for the link text then I don't believe you can use Html.ActionLink
. However, the answer to this stackoverflow question describes creating a helper which does this.
I would write the link HTML manually though and use the Url.Action
helper which creates the URL which Html.ActionLink
would have created:
<a href="@Url.Action("ItemLinkClick", new { itemListID = @Model.dsResults.Tables[0].Rows[i]["ItemListID"], itemPosNum = i+1 })">
@Html.Raw(Model.dsResults.Tables[0].Rows[i]["title"].ToString())
</a>
Upvotes: 13
Reputation: 302
You could also use this:
<a class='btn btn-link'
href='/Mycontroler/MyAction/" + item.ID + "'
data-ajax='true'
data-ajax-method='Get'
data-ajax-mode='InsertionMode.Replace'
data-ajax-update='#Mymodal'>My Comments</a>
Upvotes: 0
Reputation: 75103
those are the cases that you should take the other path
@{
string title = Model.dsResults.Tables[0].Rows[i]["title"].ToString(),
aHref = String.Format("/ItemLinkClick/itemListID={0}&itemPosNum={1}...",
Model.dsResults.Tables[0].Rows[i]["ItemListID"],
i+1);
}
<a href="@aHref" class="whatever">@Html.Raw(title)</a>
Remember that Razor helpers, help you, but you can still do things in the HTML way.
Upvotes: 0
Reputation: 4224
Using the actionlink below you do not need to pass html in the model. Let the css class or inline style determine how the href is decorated.
@Html.ActionLink(Model.dsResults.Tables[0].Rows[i]["title"], "ItemLinkClick", "Controller", new { @class = "underline", style="text-decoration: underline" }, null)
Upvotes: 0