2011-10-01 10 views
5

मैं अपने MVC3 उस्तरा देखने के लिए निम्न दृश्य-मॉडल है:एचटीएमएल को कैसे कॉल करें। कस्टम ऑब्जेक्ट के लिए प्रदर्शन करें, पूरे मॉडल पर नहीं?

public class UserProfileModel 
{ 
    public Person[] Persons { get; set; } 
    //some other fields 
} 

मैं तरह मेरे उस्तरा ध्यान में रखते हुए सभी व्यक्तियों को प्रदर्शित करना चाहते हैं:

foreach (var person in Model.Persons) 
{ 
<div> 
    @* some custom formatting *@ 
    @Html.Display(person) 
</div> 
} 

@Html.Display या @Html.DisplayFor के लिए काम नहीं लगता है मुझे ..

मैं मॉडल के रूप में Person का उपयोग करके एक अलग स्टॉन्ली-टाइप किए गए दृश्य को बना सकता हूं और @Html.DisplayForModel पर कॉल कर सकता हूं, लेकिन एक अलग वी के बिना जाने का कोई तरीका है iew?

उत्तर

15

Person.cshtml नामक आंशिक दृश्य फ़ाइल बनाएं ~/Views/Shared/DisplayTemplates के अंदर। इसे Person कक्षा में दृढ़ता से टाइप करें।

आपके विचार की संरचना को लागू करें।

फिर जब आप नीचे की तरह इसे कहते (अपने मामले पर), आप मिल जाएगा कि तुम क्या उम्मीद:

foreach (var person in Model.Persons) 
{ 
<div> 
    @* some custom formatting *@ 
    @Html.DisplayFor(m => person) 
</div> 
} 
+2

बहुत बहुत शुक्रिया! मुझे रास्ते में एक कस्टम टेम्पलेट की आवश्यकता नहीं है, मैंने अभी तक 'm => m.methingething' का उपयोग किए बिना' @ Html.DisplayFor (m => व्यक्ति) 'का उपयोग करने के बारे में सोचा नहीं है :) – Shaddix

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