在Razor View的替换功能中使用@ Html.ActionLink

时间:2019-01-25 13:25:03

标签: asp.net-mvc razor model-view-controller

我正在使用多个短语从数据库返回数据。其中之一是以下文本:Submitted an Idea

我想使所有文本中的“想法”成为超链接,所以我想在剃刀视图中使用替换功能将“想法”一词替换为HTML助手:

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

我环顾了一下,但找不到任何东西。有人建议使用@ Url.Action-但问题仍然相同。

我该怎么做?还是使用HTML帮助程序是错误的方法?

感谢您的帮助。

2 个答案:

答案 0 :(得分:1)

您可以尝试以下方法:

@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>"))

答案 1 :(得分:0)

一般情况下,

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