如何使用与主视图模型不同的子视图?
我想使用部分视图来表示表的行:
// SomeItem.cshtml
@model SomeItemModel
<tr>
<td>
@Html.DisplayTextFor(m => m.SomeField)
</td>
<td>
@Html.DisplayTextFor(m => m.AnotherField)
</td>
</tr>
并从表示包含该表的页面的视图中调用它:
// SomeCollection.cshtml
@model SomeCollection
...
<table><tbody>
@foreach (TipoDocumentoModel item in Model) {
Html.Partial("SomeItem", item);
}>
</tbody></table>
...
但它不起作用。为什么?
I want to use a partial view to represent the rows of a table:
// SomeItem.cshtml
@model SomeItemModel
<tr>
<td>
@Html.DisplayTextFor(m => m.SomeField)
</td>
<td>
@Html.DisplayTextFor(m => m.AnotherField)
</td>
</tr>
And call it from a view representing a page containing that table:
// SomeCollection.cshtml
@model SomeCollection
...
<table><tbody>
@foreach (TipoDocumentoModel item in Model) {
Html.Partial("SomeItem", item);
}>
</tbody></table>
...
But it doesn't work. Why?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
调用
Html.Partial
返回一个MvcHtmlString
,而不向页面写入任何内容。您需要添加
@
将MvcHtmlString
渲染到页面。Calling
Html.Partial
returns aMvcHtmlString
without writing anything to the page.You need to add an
@
to render theMvcHtmlString
to the page.