c# - ASP.NET MVC 3 Display Template problem -


पहले मेरे पास दृश्य & gt; ब्लॉग & gt; डिस्प्ले टेम्पलेट्स: <पूर्व> @ मॉडेल डोमेन.मॉडेल.ब्लॉगपोस्ट & lt; div class = "blogSummary" & gt; @ एचटीएमएल.एक्शनलिंक (मॉडल। टाइटल, "पोस्ट", नया {आईडी = मॉडल। पोस्टिड}, नया {@class = "titleLink"}) & lt; div class = "subInfo" & gt; @ मॉडल। पर लेखक @ मॉडल। पोस्टेडटेट। टॉस्ट्रिंग ("डी") द्वारा पोस्ट किया गया @ मॉडल.पॉट कॉममेंट्स। टिप्पणी टिप्पणी (s) & lt; / div & gt; & Lt; br / & gt; & Lt; div वर्ग = "सारांश टेक्स्ट" & gt; @ Html.Markdown (Model.Body.Length & gt; 300? Model.Body.Remove (0, 300) + "...": Model.Body) @ Html.ActionLink ("(अधिक देखें)", "पोस्ट" , नया {आईडी = मॉडल। पोस्टिड}) & lt; / div & gt; & Lt; / div & gt;

फिर मेरे पास एक दृश्य है:

  @ मॉडेल आईआईएनमेरेबल & lt; Domain.Model.BlogPost & gt; @ {ViewBag.Title = "सूचकांक"; } @ Html.DisplayFor (x = & gt; x, "BlogPostSummary")   

हालांकि, मुझे DisplayFor () पर एक त्रुटि मिल रही है:

शब्दकोश में दिया गया मॉडल आइटम 'System.Data.Objects.ObjectSet`1 [Domain.Model.BlogPost]' प्रकार है, लेकिन इस शब्दकोश में एक मॉडल आइटम की आवश्यकता है 'Domain.Model। ब्लॉगपोस्ट '।

मुझे समझ में आ रहा है कि क्या हो रहा है। डिस्प्ले टेम्पलेट का उपयोग करने का सबसे अच्छा तरीका क्या है?

समस्या यह है कि आप में प्रवेश करने का प्रयास कर रहे हैं ब्लॉगपोस्ट का संग्रह, जब एक ब्लॉगपोस्ट की अपेक्षा होती है।

कोशिश करें:

  @ html.DisplayFor (x = & gt; x [0], "ब्लॉगपोस्टस्मुरी") < / कोड>  

या ऐसा कुछ:

  @ फोरेच (मॉड में मॉड पोस्ट) @ एचटीएमएल। डिस्प्ले (पोस्ट)   

ध्यान दें: मुझे पूरा यकीन नहीं है कि एचटीएमएल का प्रयोग करने वाला दूसरा उदाहरण सही ढंग से प्रदर्शित करें। मेरा संदेह यह है कि एक प्रदर्शन टेम्पलेट के बजाय आंशिक का उपयोग करके कोड बेहतर सेवा प्रदान करेगा।

UIHint

डिफ़ॉल्ट रूप से, ASP.NET MVC पर निर्भर है ब्लॉगिंग के लिए नामकरण सम्मेलनों <ब्लॉग> ब्लॉगपोस्ट को ब्लॉग टेम्पलेट पर पोस्ट करें। यदि आप अपने डिस्प्ले टेम्पलेट के रूप में CustomBlogPost.cshtml का उपयोग करना चाहते हैं, तो आप UIHint विशेषता को लागू करके ऐसा कर सकते हैं।

  सार्वजनिक वर्ग डोमेनमॉडल {[UIHint ( "कस्टम ब्लॉगपोस्ट")] सार्वजनिक ब्लॉगपोस्ट पोस्ट {प्राप्त करें; सेट; }}    

Comments