我刚开始使用MVC,我正在尝试为jvc-mobile与mvc交互构建一个示例,概念证明页面。我已经在这方面找到了答案,但我认为我还没有足够的知识来制定正确的查询。
在我看来,我正在尝试生成这样的函数输出(从jqm演示站点中采样):
<ul data-role="listview" data-inset="true">
<li><a href="index.html">
<h3>Stephen Weber</h3>
<p><strong>You've been invited to a meeting at Filament Group in Boston, MA</strong></p>
<p>Hey Stephen, if you're available at 10am tomorrow, we've got a meeting with the jQuery team.</p>
<p class="ui-li-aside"><strong>6:24</strong>PM</p>
</a></li>
<li><a href="index.html">
<h3>jQuery Team</h3>
<p><strong>Boston Conference Planning</strong></p>
<p>In preparation for the upcoming conference in Boston, we need to start gathering a list of sponsors and speakers.</p>
<p class="ui-li-aside"><strong>9:18</strong>AM</p>
</a></li>
</ul>
所以,我的工作方式如下:
@foreach (var item in Model) {
<li>
@Html.ActionLink( LargeExpandedMultiContentText, "Edit", new { id = item.SysID })
</li>
}
我的问题,我不知道一个简单的问题,是,在MVC术语中,我如何填充变量,以便ActionLink()生成的href与我从中采样的样式匹配jqm网站?
我已经尝试了这一点,虽然它几乎可以工作,但我确信它不是'正确'的方式,特别是当我到达拉出“Steven Weber”和其他字符串的项目/模型时。 ..plus它编码文本,但我确信有一种方法可以轻松处理。
@foreach (var item in Model) {
<li>
@{ String txt = "<h3>Stephen Weber</h3><p><strong>You've been invited to a meeting at Filament Group in Boston, MA</strong></p><p>Hey Stephen, if you're available at 10am tomorrow, we've got a meeting with the jQuery team.</p> <p class=\"ui-li-aside\"><strong>6:24</strong>PM</p>";
}
@Html.ActionLink( txt, "Edit", new { id = item.SysID })
</li>
}
谢谢,感谢您的帮助
布赖恩
答案 0 :(得分:1)
我不确定是否可以使用Html.ActionLink
来构建这样一个复杂的动作链接。也就是说,Html Helpers应该是辅助函数,通过为您提供以常用方式呈现HTML的快捷方式,使您的生活更轻松。你不需要来使用它们。在这种情况下,我认为您应该使用普通的html标记,并使用Url.Action
来创建正确的网址。
如果您想在可枚举模型中包含此信息,我可能会执行以下操作:
@foreach (var item in Model) {
<li><a href="@Url.Action(item.Action)">
<h3>@item.Name</h3>
<p><strong>@item.Title</strong></p>
<p>@item.Message</p>
<p class="ui-li-aside"><strong>@item.Time</strong>@item.TimePeriod</p>
</a></li>
}
注意:您正在寻找的用于显示内容而不对其进行编码的功能是@Html.Raw
答案 1 :(得分:0)
在回答我的另一个“半问题”时,我找到了这个资源......
http://haacked.com/archive/2011/01/06/razor-syntax-quick-reference.aspx
我相信底部的“剃刀代表”项目符合我的需要。
@{
Func<dynamic, object> b =
@<strong>@item</strong>;
}
@b("Bold this")