我使用的是asp.net mvc 3.我必须显示一个CheckBoxList并从CheckBoxList中获取选中的值。为此,我使用EditorTemplate。我必须将复选框的名称显示为超链接。以下是我的代码。
父视图:
if (Model.MyObject.PresentedDocuments != null && Model.MyObject.PresentedDocuments.Count > 0)
{
<div class="checkbox-container">
@Html.EditorFor(x => x.MyObject.PresentedDocuments)
</div>
}
EditorTemplate查看:
@model Transaction.DocumentDto
@Html.HiddenFor(x => x.DocumentId)
@Html.HiddenFor(x => x.Type)
@Html.CheckBoxFor(x => x.IsSelected)
@Html.DisplayFor(x => x.Name)
基本上我希望@Html.DisplayFor(x => x.Name)
被一个锚链接包围,该链接的href值在Transaction.DocumentDto中可用。如果我能做一个foreach循环,我可以做以下事情:
foreach (var docs in Model.Documents)
{
<div class="checkbox-container">
<input type="checkbox" name="SelectedGroups" value="@docs.DocumentId" id="@docs.DocumentId"/>
<label for="@docs.DocumentId">
<a href="@docs.Url">@docs.Name</a>
</label>
</div>
}
不幸的是我只能使用EditorTemplate。