我從數據庫中獲取我的內容。如何使用部分視圖在使用該數據庫的頁面上顯示內容?
數據庫表:內容
[ID,內容]這些都是2場如何將參數傳遞給局部視圖來顯示數據庫內容?
我想從數據庫中使用局部視圖獲取內容。
我如何將ID傳遞給局部視圖並在視圖頁面中顯示內容?
我從數據庫中獲取我的內容。如何使用部分視圖在使用該數據庫的頁面上顯示內容?
數據庫表:內容
[ID,內容]這些都是2場如何將參數傳遞給局部視圖來顯示數據庫內容?
我想從數據庫中使用局部視圖獲取內容。
我如何將ID傳遞給局部視圖並在視圖頁面中顯示內容?
你可以使用Html.RenderAction
:
public class MyController
{
[ChildActionOnly]
public ActionResult Foo(int id)
{
var content = GetContentFromDatabase(id);
return Content(content, MediaTypeNames.Text.Html);
}
}
並且在視圖包括部分:
<%= Html.RenderAction("foo", "mycontroller", new { id = 5 }) %>
備註:RenderAction
是現在發佈的ASP.NET MVC 2 RTM的一部分。對於ASP.NET MVC 1,您可以查看包含此擴展方法的Futures程序集。
在您的視圖中,使用Html.RenderPartial
函數。有幾個不同的用途:
您可以通過在模型中的部分觀點:<% Html.RenderPartial("partialName", model); %>
或者你可以在一個全新的ViewDataDictionary
傳:<% Html.RenderPartial("partialName", viewData); %>
有關完整文檔,請參見here。
編輯:(答案評論):
的你觀點的模式,我將包括數據部分。例如,我們在模型中假設你有:
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%>
作爲模型,我會傳遞什麼? 可以說我想顯示不同段落的內容,如
[這裏的數據來自db其id = 5]
,[這裏的數據來自db其id = 7]
等等。 – coure2011 2010-03-15 16:18:31我不想顯示所有在Model.People中,只是想顯示一些像5,8等id。 – coure2011 2010-03-15 17:11:31
然後只將該項目添加到模型。我以列表爲例。關鍵是將對象本身添加到模型中,而不僅僅是它的ID。 – mlsteeves 2010-03-15 17:14:55