Asp.net mvc 如何将参数传递到局部视图以显示db内容?
我正在从数据库获取我的内容。如何使用部分视图在使用该数据库的页面上显示内容?Asp.net mvc 如何将参数传递到局部视图以显示db内容?,asp.net-mvc,Asp.net Mvc,我正在从数据库获取我的内容。如何使用部分视图在使用该数据库的页面上显示内容? 数据库表:内容 [Id,Content]这是两个字段 我想使用部分视图从db获取内容。 如何将id传递给局部视图并在视图页面中显示内容?在视图中,使用Html.RenderPartial函数。有几种不同的用途: 您可以将模型传递到局部视图: 或者您可以传入一个全新的ViewDataDictionary: 有关完整文档,请参阅 编辑:(回复评论): 我会将这些数据作为视图模型的一部分。例如,假设在您的模型中: List
数据库表:内容
[Id,Content]这是两个字段 我想使用部分视图从db获取内容。
如何将id传递给局部视图并在视图页面中显示内容?在视图中,使用
Html.RenderPartial
函数。有几种不同的用途:
您可以将模型传递到局部视图:
或者您可以传入一个全新的ViewDataDictionary
:
有关完整文档,请参阅
编辑:(回复评论):
我会将这些数据作为视图模型的一部分。例如,假设在您的模型中:
List<Person> People;
列出人员;
在视图中,您希望循环浏览其中的每一个,并使用PartialView显示详细信息:
<% foreach( var p in Model.People){ %>
<p> <% Html.RenderPartial("personPartial", p); %> </p>
<%}%>
现在,您的PartialView可能看起来像:
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<Person>" %>
<%=Model.PersonName%>
您可以使用:
在您看来,包括部分:
<%= Html.RenderAction("foo", "mycontroller", new { id = 5 }) %>
备注:
RenderAction
是现在发布的ASP.NET MVC 2 RTM的一部分。对于ASP.NET MVC 1,您可以查看包含此扩展方法的程序集。我将传递什么作为模型?假设我想显示不同段落的内容,比如[这里的数据来自id=5的db],[这里的数据来自id=7的db]等等..我不想显示模型中的所有p。人们只想显示一些id,如5,8等。然后只将该项添加到模型中。我以这个清单为例。关键是将对象本身添加到模型中,而不仅仅是它的ID。
<%= Html.RenderAction("foo", "mycontroller", new { id = 5 }) %>