के लिए Telerik अजाक्स नियंत्रण का उपयोग करने के लिए Dynamic Data पर एक नज़र डालें है।
मुझे हाल ही में इसके बारे में पता चला है और यह मुझे पहले से ही लॉट बचाया है।
अद्यतन:
क्षमा याचना - प्रश्न पुन: पढ़ने के बाद, मुझे नहीं लगता कि यह है कि क्या आप के बाद कर रहे थे है।
यदि आप अपने डेटाबेस में रिकॉर्ड्स के आधार पर गतिशील रूप से जेनरेट करना चाहते हैं, तो आपको अपना इंजन लिखना पड़ सकता है।
हालांकि सुझावों में से एक जोड़े:
- मैं बड़े मामले बयानों के बजाय नियंत्रण लोड करने के लिए प्रतिबिंब का उपयोग कर देखो चाहते हैं। इस तरह आप नई असेंबली को शामिल करके गतिशील रूप से विभिन्न नियंत्रण प्रकार जोड़ सकते हैं। आपको नया कोड लिखना नहीं होगा।
- सुनिश्चित करें कि आप अपने डेटाबेस में प्रदर्शन आदेश को नियंत्रित करने का एक तरीका शामिल करते हैं। मुझे लगता है कि आप नियंत्रण के प्रत्येक पैनल के लिए एक अलग तालिका का उपयोग करना चाहते हैं। मैं प्रदर्शन आदेश की समस्या के कारण इसके खिलाफ सलाह दूंगा। यदि आपके पास पैनलों की सूची वाली तालिका है और डेटा आइटम की सूची वाली तालिका है + पैनलों के लिए विदेशी कुंजी संदर्भ, तो आप उन्हें पृष्ठ पर अनुमानित और नियंत्रित करने योग्य तरीके से ऑर्डर करने में सक्षम होंगे।
अद्यतन: प्रतिबिंब
बस रखो बारे में अधिक जानकारी, प्रतिबिंब जब आप क्रम में एक विधानसभा के विवरण के बारे में पता लगाने के लिए है। इस मामले में, मैं आपके डेटाबेस में जानकारी के आधार पर नियंत्रण लोड करने के लिए प्रतिबिंब का उपयोग करने का सुझाव देता हूं।
इसलिए यदि आप अपने डेटाबेस में एक रिकॉर्ड निम्न के समान था:
FieldName DataType DisplayControl DisplayProperty
----------------------------------------------------------------------------------
FirstName System.String System.Web.UI.WebControls.TextBox Text
आप जैसे कुछ कोड का उपयोग कर पृष्ठ पर नियंत्रण उत्पन्न करने के लिए निम्न (ध्यान दें कि यह अपरीक्षित है):
// after getting the "PageItem" database records into a "pageItems" array
foreach (PageItem p in pageItems)
{
// get the type and properties
Type controlType = System.Type.GetType(p.DisplayControl)
PropertyInfo[] controlPropertiesArray = controlType.GetProperties();
// create the object
object control = Activator.CreateInstance(controlType);
// look for matching property
foreach (PropertyInfo controlProperty in controlPropertiesArray)
{
if (controlPropertiesArray.Name == p.DisplayProperty)
{
// set the Control's property
controlProperty.SetValue(control, "data for this item", null);
}
}
// then generate the control on the page using LoadControl (sorry, lacking time to look that up)
यह वास्तव में एक अच्छा पृष्ठ है जो इस here को कैसे करें। ऐसा लगता है कि आप इसके बाद क्या कर रहे हैं।
मैं प्रतिबिंब से परिचित नहीं हूं, क्या आप इसका मतलब विस्तार कर सकते हैं? एक साधारण उदाहरण के साथ पसंदीदा रूप से? – Joshscorp
निश्चित रूप से, मैं अपना उत्तर अपडेट करूंगा – Damovisa
धन्यवाद, इससे मुझे कुछ प्रमुख शुरुआत मिलती है, क्या आपको लगता है कि मैं उस सक्रियकर्ता के साथ टेलीरिक नियंत्रणों का उपयोग करने में सक्षम हूं। क्रिएट इंस्टेंस? – Joshscorp