【发布时间】:2013-11-12 05:41:43
【问题描述】:
虽然 @Html.Actionlink() 帮助器非常方便在 .cshtml 文件中构建 <a> 元素,但是否可以在 C# 字符串中构造它们,以便随后在 HTML 输出中正确呈现它们?
例如,如果我为字符串变量分配类似于以下的值:
Book.ReadMore = "Click @Html.ActionLink(\"this link\", \"About\", \"Home\") to read more.";
然后我尝试通过我的 .cshtml 页面显示它(文字加上链接),使用类似于:
<p>@Model.ReadMore</p>
我在浏览器中得到的只是我输入的整个字符串,包括@Html...等:
Click @Html.ActionLink("this link", "About", "Home") to read more.
现在,对于正确的 SoC,我知道在 C# 代码中包含 HTML 内容并不是最佳实践,但在这种情况下是否有可能获得正确的 <a> 链接,而不是字符串本身?
编辑:更多信息 - 此字符串只是大约 20-30 个字符串集合中的一项(在视图中使用 for loop 显示)。这些项目中只有一小部分需要链接(在每种情况下都不同)。因为,如上所述,我同意在模型代码中使用 Razor/HTML 显然不是一个好习惯,所以我正在尝试一种简单的方法(如果可能的话),这将使我能够灵活地在右侧某处构建链接位置,同时仍然产生 MVC SoC 的可维护性。
必须有一种“正确”的方式来做到这一点,既简单又可维护。
【问题讨论】:
-
以上投票最高(不被接受)的答案似乎有你要找的东西
标签: c# asp.net-mvc-4 html-helper