2010-03-15 10 views
5

मुझे डेटाबेस से मेरी सामग्री मिल रही है। मैं उस डेटाबेस का उपयोग कर पेज पर सामग्री दिखाने के लिए आंशिक विचारों का उपयोग कैसे कर सकता हूं?
डेटाबेस तालिका: सामग्री
[क्रमांक, सामग्री] इन 2 क्षेत्रोंडीबी सामग्री दिखाने के लिए आंशिक दृश्य में पैरामीटर कैसे पास करें?

मैं आंशिक दृश्य का उपयोग कर db से सामग्री प्राप्त करना चाहते हैं।
मैं आंशिक दृश्य में आईडी कैसे पास करूंगा और सामग्री को पृष्ठ में दिखाऊंगा?

उत्तर

6

आप इस्तेमाल कर सकते हैं 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 आरटीएम का हिस्सा है। एएसपी.नेट एमवीसी 1 के लिए आप इस विस्तार विधि वाले Futures असेंबली पर एक नज़र डाल सकते हैं।

0

अपने विचार के अंदर, 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%> 
+0

मैं मॉडल के रूप में क्या पास करूंगा? चलें कहना मैं इस तरह

विभिन्न अनुच्छेदों के लिए सामग्री दिखाना चाहते हैं [db से डेटा यहां जिसका आईडी = 5]

,

और इतने पर .. – coure2011

+0

मैं सभी को दिखाना चाहते हैं न [db से जिसका आईडी = 7 यहां डेटा] मॉडल में पी। लोग, बस कुछ आईडी जैसे 5,8 आदि के साथ दिखाना चाहते हैं – coure2011

+0

फिर उस आइटम को मॉडल में जोड़ें। मैं एक उदाहरण के रूप में सूची का उपयोग कर रहा था। कुंजी ऑब्जेक्ट को मॉडल में ही जोड़ना है, न केवल इसकी आईडी। – mlsteeves

संबंधित मुद्दे