मैं EditorForModel
के मेरे अनुकूलन और मेरे कोड और अंतर्निहित एमवीसी 3 हेल्पर्स द्वारा उत्सर्जित HTML तत्वों के नामकरण के साथ संघर्ष कर रहा हूं। मेरा कोड बहुत सरल है, और स्पष्ट रूप से प्रस्तुत तत्वों को नाम देने जैसे कुछ subtleties याद आ रही है।मैं एमवीसी 3 संपादक टेम्पलेट्स को अनुकूलित करने के लिए उन्नत संसाधनों की तलाश में हूं
मैं उन्नत संसाधनों की तलाश में हूं जो मेरे वर्तमान विकास के इस क्षेत्र को विशेष रूप से छोटे उप-मॉडल में मुख्य दृश्य मॉडल को विभाजित करने के लिए एक दृश्य के साथ, ताकि मैं एक दृश्य में तीन EditorForModel
कॉलों को लागू कर सकूं , फॉर्म कॉलम या टैब पृष्ठों पर उत्पन्न मॉडल संपादकों को विभाजित करने के लिए।
@{
// TODO Filtering for subsets of model without having to bind separate models.
var properties = ViewData.ModelMetadata.Properties.Where(pm => pm.ShowForEdit && !pm.IsComplexType && !ViewData.TemplateInfo.Visited(pm));
}
<fieldset>
<legend>@ViewData.ModelMetadata.DisplayName</legend>
<ul class="form-column">
@foreach (var prop in properties)
{
<li>
@{
if (prop.HideSurroundingHtml)
{
@Html.Editor(prop.DisplayName ?? prop.PropertyName)
}
else
{
@Html.Label(prop.PropertyName, (prop.IsRequired ? "* " : "") + (prop.DisplayName ?? prop.PropertyName))
@Html.Editor(prop.PropertyName)
}
}
</li>
}
</ul>
</fieldset>
मैं नकल की और Brad Wilson's blog पर this article पर Object.ascx उदाहरण टेम्पलेट से इस कोड को संशोधित किया है:
मेरे वर्तमान डिफ़ॉल्ट EditorForModel
टेम्पलेट के 'ओवरराइड' इस प्रकार है। जितना संभव हो उतना समृद्ध तरीके से जितना संभव हो सके उतने परिदृश्यों को पूरा करने के लिए इसे समृद्ध करने के लिए मैं किस संसाधन से परामर्श कर सकता हूं?
में आप शक्तिशाली एचटीएमएल टेम्पलेट्स के लिए देख रहे हैं, मैं FubuMVC टीम से एचटीएमएल टेम्पलेट सम्मेलनों बाहर की जाँच की सिफारिश करेंगे। वे एएसपी.नेट एमवीसी के साथ 100% संगत हैं और अधिक लचीला/संगत। मैं उन्हें 2+ सालों से उपयोग कर रहा हूं और बिल्कुल इसे प्यार करता हूं। http://craigcav.wordpress.com/2011/11/22/applying-conventions-in-asp-net-mvc/ यदि आप निक के पोस्ट पर क्लिक करते हैं तो एएसपी.नेट एमवीसी में यह काम करने के लिए एक लिंक है। – Ryan
मुझे नहीं लगता कि आप उस टेम्पलेट से भी बहुत बेहतर कर सकते हैं, यानी: प्रत्येक संपत्ति के लिए लेबल + संपादक या डिस्प्ले की एक सूची। यदि आप अपने ऑब्जेक्ट टेम्पलेट को बहुत सामान्य होने के लिए चाहते हैं, तो केवल एक ही सुधार जो आप कर सकते हैं, ऑर्डर विशेषता को संभालने के लिए गुणों को सूचीबद्ध करने के क्रम में निर्णय लेना है। दूसरी ओर आप अपने ढांचे को कस्टम विशेषताओं के आधार पर डिज़ाइन कर सकते हैं जो टेम्पलेट को व्यवस्थित करने के तरीके को नियंत्रित करते हैं। हालांकि, वे जिस तरह से करते हैं वे आपके आवेदन पर दृढ़ता से निर्भर करते हैं। –