मेरे पास दो संपादक टेम्पलेट्स हैं: एक दशमलव के लिए, और दशमलव के लिए एक? (नल)एएसपी.नेट एमवीसी 2 - एचटीएमएल.एडिटर एक निरर्थक प्रकार के लिए?
लेकिन जब मैं अपने मॉडल में एक नल दशमलव है, यह सामान्य दशमलव संपादक लोड करने के लिए कोशिश करता है:
<%: Html.EditorFor(model => model.SomeDecimal)%>
<%: Html.EditorFor(model => model.SomeNullableDecimal)%>
पहले एक ठीक काम करता है, और दशमलव संपादक टेम्पलेट लोड करता है। दूसरा भी दशमलव टेम्पलेट लोड करने का प्रयास करता है (और विफल रहता है क्योंकि यह दशमलव फ़ील्ड नहीं है)।
त्रुटि संदेश है:
The model item passed into the dictionary is null, but this dictionary requires
a non-null model item of type 'System.Decimal'.
मेरे टेम्पलेट्स इस तरह की घोषणा की जाती:
दशमलव टेम्पलेट:
<%@ Control Language="C#"
Inherits="System.Web.Mvc.ViewUserControl<System.Decimal>" %>
Nullable दशमलव टेम्पलेट:
<%@ Control Language="C#"
Inherits="System.Web.Mvc.ViewUserControl<System.Decimal?>" %>
मुझे पता है था टी मैं इसे टेम्पलेट नाम में गुजरकर काम कर सकता हूं, उदाहरण के लिए
लेकिन मैं वास्तव में अन्य सभी टेम्पलेट्स की तरह ही प्रकार का उपयोग करके स्वचालित रूप से काम करना पसंद करूंगा।
<%: Html.EditorFor(model => model.SomeNullableDecimal,
"NullableDecimalTemplate")%>
क्या आपके टेम्पलेट्स के नाम दशमलव हैं .ascx और दशमलव? .ascx? – ZippyV
नहीं वे दशमलव हैं .ascx और NullableDecimal.ascx –
कोई नहीं? .. बाहर निकलता है मैं decimal.ascx के अंदर NullableDecimal.ascx कोड को कॉपी करके इसे "ठीक" कर सकता हूं। आश्चर्यजनक रूप से पर्याप्त, एक मानक दशमलव का उपयोग निरर्थक टेम्पलेट में किया जा सकता है। मुझे नहीं पता कि एक गैर-शून्य दशमलव एक टेम्पलेट में क्यों काम करेगा जिसमें कोड है: if (myDecimal.HasValue) –