Использование @ Html.ActionLink в функции замены в Razor View - PullRequest
0 голосов
/ 25 января 2019

Я возвращаю данные из моей БД с несколькими фразами. Одним из них является следующий текст: Submitted an Idea

Я хочу сделать «идею» в любом тексте «все» гиперссылкой, поэтому я хочу использовать функцию замены в моем представлении бритвы, чтобы заменить слово «идея» моим Html Helper:

@item.RewardType.Replace("Idea", @Html.ActionLink("Idea", "ChallengeIdea", "Ideas", new { id = item.fkiIdeaId }, null))

Я немного осмотрелся, но ничего не могу найти Кто-то предложил использовать @ Url.Action - но проблема остается той же.

Как мне это сделать? Или использование Html-помощника - неправильный способ сделать это?

Спасибо за любую помощь.

Ответы [ 2 ]

0 голосов
/ 25 января 2019

Вы можете попробовать это:

@Html.Raw(item.RewardType.Replace("Idea", $"<a href='/ideas/challengeidea/{item.fkiIdeaId}'>Idea</a>"))

Или

@Html.Raw(item.RewardType.Replace("Idea", "<a href=/ideas/challengeidea/" + item.fkiIdeaId+">Idea</a>"))
0 голосов
/ 25 января 2019

Html помощники помогут помочь вам в общих ситуациях. Когда они производят больше осложнений, чем стоимости, они бесполезны

<span>Submitted an <a href="@Url.Action("ChallengeIdea", "Ideas", new { id = item.fkiIdeaId })">Idea</a></span>

Если у вас есть RewardType в ресурсе и вы не можете использовать обычный html, вы можете установить RewardType на "Submitted an <a href=\"{0}\">Idea</a>" И использовать string.format

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