我有一个如下所示的列表,这很好:
<ul class="vlistmenu">
@foreach (var m in Model)
{
<li class="forum">@Html.ActionLink(m.LinkName, "Details", "Forum", new { id = m.Id }, null)</li>
}
</ul>
现在我正在尝试从调用Html.ActionLink来格式化生成的MvcHtmlString并添加更多信息。但是下面的示例并没有像我希望的那样工作。
<ul class="vlistmenu">
@foreach (var m in Model)
{
var link = m.LinkName + "<br /><a style=\"font-size:smaller\">By: Ronron (July 11, 2011)</a>");
<li class="forum">@Html.ActionLink(link, "Details", "Forum", new { id = m.Id }, null)</li>
}
</ul>
基本上我想要的是将文字字符串“By:Ronron(Jull 11,2011)”附加到我的模型中的信息,即m.LinkName。但是,我希望m.LinkName的字体大于附加的文字字符串。此外,文字字符串应从下一行开始,而不是紧接在m.LinkName旁边。组合的m.LinkName和附加的字符串将形成一个操作链接。
答案 0 :(得分:2)
如果我理解正确你想要将html属性写入元素,那么你可以在html.actionlink html属性上声明它,就像你在代码上看到的那样(如果你想添加class属性,你需要用@symbol写: new {style =“font-size:smaller”,@ class =“xClass”}
<ul class="vlistmenu">
@foreach (var m in Model)
{
var link = m.LinkName + "<br /><a style=\"font-size:smaller\">By: Ronron (July 11, 2011)</a>");
<li class="forum">@Html.ActionLink(link, "Details", "Forum", new { id = m.Id }, new { style = "font-size:smaller"})</li>
}
除了您的评论,您还可以编写自定义助手
或者您可以通过url.action方法手动设置标记,以便根据您的控制器操作提供链接,但手动执行标记
<a href="@Url.Action("Details","Forum",new { id = m.Id })">@m.linkname<br /><span style="font-size:smaller">By: Ronron (July 11, 2011)</span></a>