Получение необработанного текста с использованием @ Html.ActionLink в Razor / MVC3? - PullRequest
5 голосов
/ 01 августа 2011

С учетом следующего 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 }, ...

Данные из модели содержат HTML в поле заголовка. Однако я не могу отобразить значения в кодировке HTML. то есть. подчеркнутый текст отображается с <u>....</u> вокруг него.

Я пробовал Html.Raw в текстовой части ActionLink, но не пошел.

Есть предложения?

Ответы [ 5 ]

13 голосов
/ 31 октября 2011

Если вы все еще хотите использовать помощника для создания ссылки действия с необработанным HTML для текста ссылки, тогда я не верю, что вы можете использовать Html.ActionLink.Тем не менее, ответ на этот вопрос о стеке описывает создание помощника, который делает это.

Я бы написал HTML-ссылку вручную, хотя и использовал бы Url.Action помощник, который создает URL, который Html.ActionLink создал бы:

<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>
0 голосов
/ 17 декабря 2014

Вы также можете использовать это:

<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>
0 голосов
/ 01 августа 2011

Используя ссылку ниже, вам не нужно передавать html в модель.Пусть класс css или встроенный стиль определяют, как оформлен href.

@Html.ActionLink(Model.dsResults.Tables[0].Rows[i]["title"], "ItemLinkClick", "Controller", new { @class = "underline", style="text-decoration: underline" }, null)
0 голосов
/ 01 августа 2011

это те случаи, когда вам следует пойти по другому пути

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

Помните, что помощники Razor помогают вам, но вы все равно можете делать что-то в HTML.

0 голосов
/ 01 августа 2011

MVCHtmlString.Create должен сделать трюк.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...