में मेरी डिजाइनर संपत्ति का क्रमबद्ध क्यों नहीं है एएसपी.NET में उपयोग किए जाने वाले कस्टम डेटा स्रोत को बनाने के प्रयास में, मैंने एक कस्टम डेटा स्रोत वर्ग, एक कस्टम संपादक और एक कस्टम बनाया है serializable वर्ग।एएसपीएक्स
जो मैं समझने में असफल हूं वह क्यों काम नहीं करता है ... भले ही मुझे संभवतः आवश्यकतानुसार अधिक गुण हैं (मैं ब्राउज़िंग और घंटों तक चीजों की कोशिश कर रहा हूं), जो मुझे लगता है कि PersistenceMode(PersistenceMode.InnerProperty)
को समझना चाहिए था चाल ... साथ ही, ऐसा लगता है कि मेरा कोड Why can't I declare sub-elements (properties) of a UserControl in a WebForm? जैसा है। इस प्रकार
कोड काम करता है: उपयोग करने के बाद, वी.एस. में गुण सही ढंग से अपडेट किया जाता है:
[ParseChildren(true)]
[PersistChildren(true)]
public class MyDataSource : DataSourceControl
{
// [much more irrelevant code...]
[Browsable(true)]
[EditorBrowsable(EditorBrowsableState.Always)]
[PersistenceMode(PersistenceMode.InnerProperty)]
[MergableProperty(false)]
[TypeConverter(typeof(ExpandableObjectConverter))]
[DesignerSerializationVisibility(DesignerSerializationVisibility.Content)]
[Editor(typeof(Editors.ResultRequestEditor), typeof(System.Drawing.Design.UITypeEditor))]
public ResultRequest Request { get; set; }
}
[Serializable]
[PersistChildren(true)]
[TypeConverter(typeof(ExpandableObjectConverter))]
[ParseChildren(true)]
public class ResultRequest
{
[Browsable(true)]
[EditorBrowsable(EditorBrowsableState.Always)]
public string ColumnName { get; set; }
[Browsable(true)]
[EditorBrowsable(EditorBrowsableState.Always)]
public Type ColumnType { get; set; }
[Browsable(false)]
[EditorBrowsable(EditorBrowsableState.Always)]
public object[] ResultTypeParameters { get; set; }
}
कस्टम संपादक काम करने के लिए लगता है।
हालांकि, कुछ को अद्यतन करने के बाद जानकारी ASPX फाइल में कायम नहीं कर रहा है:
<cc1:MyDataSource ID="SearchDataSource1" runat="server" ProviderID="MyProvider1" />
मैं क्या उम्मीद डेटा स्रोत के भीतर कुछ क्रमबद्धता, जैसे था:
<cc1:MyDataSource ID="SearchDataSource1" runat="server" ProviderID="MyProvider1">
<Request>
// blah
</Request>
</cc1:MyDataSource>
किसी कृपया समझा सकते हैं यह क्यों काम नहीं करता है?
क्या आपने कुछ विशेषताओं के बिना प्रयास किया है, उदाहरण के लिए TypeConverters? –
मुझे समझ में नहीं आता कि आप क्या करने की कोशिश कर रहे हैं। मूल रूप से आप कह रहे हैं: मेरे पास तीन वर्ग हैं, और वे काम नहीं करते हैं। आप क्या करने की कोशिश कर रहे हैं? आपका अपरिवर्तनीय व्यवहार और आपका अपेक्षित व्यवहार क्या है? आप डेटास्रोत में कुछ क्रमिकरण की उम्मीद करते हैं? एक वर्ग में serialization? आम तौर पर धारावाहिक एक पाठ या बाइनरी फ़ाइल के अंदर होता है। तो मेरा अगला सवाल होगा: क्या फाइल? –
वैसे मूल रूप से मैं 'ResultRequest' कक्षा के लिए एक कस्टम संपादक बनाने की कोशिश कर रहा हूं। डेटा स्रोत स्वयं काम करता है, मैं इसे पीछे कोड के बजाय एएसपीएक्स से कॉन्फ़िगर नहीं कर सकता। TypeConverters वहां हैं क्योंकि डिफ़ॉल्ट क्रमिकरण (आपके एएसपीएक्स एक्सएमएल में) काम नहीं करता है - f.ex. जबकि मुझे पता है कि 'ऑब्जेक्ट []' को क्रमबद्ध करने के लिए, डिजाइनर नहीं करता है, इसलिए मैं उसे बताने का इरादा रखता हूं कि यह कैसे किया जाता है। यह भी संपादक के लिए है। हां, मैंने यह समझने के प्रयास में घंटों के लिए विशेषताओं को जोड़ने और हटाने का प्रयास किया कि यह कैसे काम करता है (निष्कर्ष: यह काम नहीं करता है और मैं इसे समझ नहीं पा रहा हूं)। – atlaste