Data Binding in ASP.NET – पिछले Chapter में हमने ADO.NET Objects का प्रयोग करते हुए इस बात को समझने की कोशिश की कि किस प्रकार से हम Underlying Database से Data को Access व Manipulate करते हुए अपने ASP.NET Application में Use कर सकते हैं।
लेकिन ADO.NET का प्रयोग करते हुए पिछले Chapter में हमने जिस तरह से Underlying Data Source को Use किया है, वह तरीका हालांकि काफी Flexible व Powerful है लेकिन Convenient नहीं है, क्योंकि इस तरीके को Use करते समय लगभग सबकुछ हमें हमारे स्तर पर स्वयं तय करना होता है, कि किस प्रकार से Underlying Data Source से Data को Retrieve किया जाएगा, किस Data Model का प्रयोग करते समय उन्हें किस Object (DataReader, DataSet, Table, etc..) में Hold किया जाएगा और किस प्रकार से उन्हें किस तरह से Controls का प्रयोग करते हुए Output में Render किया जाएगा।
हम समझ सकते हैं कि लगभग सभी प्रकार के Applications में इन कामों को Common रूप से किया जाता है, जिसके अन्तर्गत Data को जरूरत के अनुसार Underlying Data Source से Retrieve किया जाता है, उस पर जरूरत के अनुसार Processing की जाती है और फिर किसी HTML Table या अन्य HTML Elements का प्रयोग करते हुए Formatted तरीके से Output में Render किया जाता है और इस Common रूप से Use की जाने वाली Processing में लगभग समान Codes को बार-बार Repeat किया जाता है।
हालांकि Repeating Codes लिखने Easy होते हैं, लेकिन Error-Prone भी होते हैं साथ ही उन्हें Manage व Maintain करना भी कठिन होता है। ASP.NET हमें इस स्थिति से बचने के लिए काफी Features Provide करता है, जहां हम इन Repeating Tasks को अपने स्तर पर Manually Perform करने से बच जाते हैं और जिस तरीके का प्रयोग करते हुए हम इन Repeating Tasks को बार-बार Perform करने से बच जाते हैं, उन्हें Data-Binding के नाम से जाना जाता है।
इस Chapter में हम ASP.NET द्वारा Provide किए जाने वाले उन्हीं Data-Binding Controls व Features के बारे में जानेंगे, जिन्हें Use करने के लिए हमें एक भी Link का Repeating Code लिखने की जरूरत नहीं होती, बल्कि हम सभी Repeating Tasks को Visually Perform करते हैं।
Data-Binding के अन्तर्गत जो मूल Concept है वो यही है कि हम किसी Web Control को कहते हैं कि उसे उसका Data कहां से Find करना है और हम उसे कैसे Display करना चाहते हैं, जबकि हम जो चाहते हैं, हमारा Control स्वयं उसे अपने स्तर पर Handle करता है, जिसके लिए हमें किसी प्रकार की Coding लिखने की जरूरत नहीं होती।
Web Applications में की जाने वाली Data-Binding ठीक वैसी ही होती है, जैसी सामान्यत: Desktop Applications में होती है लेकिन Web Applications में Data-Binding को Exactly उसी तरह से Implement नहीं किया जा सकता, जिस तरह से Desktop Applications में किया जाता है, जहां सभी Controls, Data Source से Stateful तरीके से Directly Connected होते हैं। जबकि Web Application पूरी तरह से Stateless Protocol पर आधारित होते हैं। इसलिए Web Applications में Data-Binding को केवल Simulate किया जाता है, पूरी तरह से Desktop Applications की तरह Implement नहीं किया जा सकता। क्योंकि ASP.NET के अन्तर्गत हम कभी भी Underlying Database के साथ Connection को Internet पर Effectively Maintain नहीं कर सकते।
अन्य शब्दों में कहें तो ASP.NET का Data-Binding, Desktop Applications में Perform की जाने वाली Direct Data Binding Process से काफी अलग होता है। साथ ही Direct Data-Binding Use करने पर हमारा Application कई प्रकार की Limitations से Limited हो जाता है। क्योंकि Direct Data-Binding Use करने पर हमारे Application की Scalability व Flexibility भी प्रभावित होती है।
जबकि ASP.NET की Data-Binding, Direct Data-Binding से काफी कम Match होती है, क्योंकि ASP.NET का Data-Binding केवल एक Single Direction में ही काम करता है। जहां Information किसी Underlying Data Source से किसी ASPX Page के Control में ही Move होता है और जैसे ही Data, Web Controls में Fill हो जाते हैं, उन Data को Fill करने वाले Objects Destroy हो जाते हैं और हमारा Page Response के रूप में Request करने वाले User के Web Browser में पहुंच जाता है।
यदि User इस Page के किसी Data-Bound Control में दिखाई देने वाले Data को Modify करता है, तो हालांकि हमारा Program उस Modification को Underlying Database में Update कर सकता है, लेकिन ये काम Automatically नहीं होता, बल्कि इस काम को हमें हमारे स्तर पर Manually Perform करना पडता है।
ASP.NET Data-Binding काफी Powerful Feature Provide करता है, जिसके अन्तर्गत हम GridView व DetailsView जैसे Binding Controls को बडी ही आसानी से Use करते हुए काफी Complex Data को भी Output में Render कर सकते हैं। साथ ही ये Controls हमें कई ऐसे Options देते हैं, जिनका प्रयोग करते हुए हम इन Controls को बडी ही आसानी से अपनी जरूरत के अनुसार Modify कर सकते हैं और अपने Records को Different तरीके से Format करते हुए Render कर सकते हैं।
Types of Data Binding in ASP.NET
ASP.NET में हम दो तरीकों का प्रयोग करते हुए Data-Binding कर सकते हैं, जिन्हें Single-Value Binding व Repeated-Value Binding के नाम से जाना जाता है। Single-Value Data-Binding इन दोनों तरीकों में तुलनात्मक रूप से ज्यादा सरल है, जबकि Repeated-Value Binding ज्यादातर अन्य Advanced ASP.NET Data-Controls को अपना काम करने के लिए आधार यानी Foundation Provide करता है।
Single-Value or Simple Data-Binding
हम Single-Value Data-Binding का प्रयोग करते हुए अपने ASP.NET Page में किसी भी Information को कहीं पर भी Add करते हुए Display कर सकते हैं। हम इन Single-Value Data को न केवल किसी Control की किसी Specific Property में Assign कर सकते हैं बल्कि हम इन Data को HTML Tags में Plain Text की तरह भी Place कर सकते हैं।
यानी Single-Value Data-Binding का ADO.NET के साथ कोई Directly सम्बंध नहीं है, इसलिए इसे Use करने के लिए जरूरी नहीं है कि हमारा Data किसी Underlying Database से ही Retrieved हुआ हो, बल्कि हम किसी भी प्रकार के Data जैसे कि Variable, Expression, Property आदि को Single-Value Data-Binding Concept का प्रयोग करते हुए अपने Webpage पर Dynamically Insert कर सकते हैं। इतना ही नहीं, जब हम Rich Data Controls Use करते हैं, तब Single-Value Binding का प्रयोग Templates Create करने के लिए भी किया जाता है।
Repeated-Value or List Data-Binding
Repeated-Value Data-Binding हमें किसी Table के एक Single Field को अथवा Entire-Table के Data को Output में Render करने की सुविधा देता है। इस प्रकार की Data-Binding को Perform करने के लिए एक Special Control की जरूरत होती है और सामान्यत: ये CheckBoxList या ListBox Control की तरह एक List Control होता है, लेकिन ये GridView जैसा Control भी हो सकता है। यद्धपि ऐसे ही Web Controls के साथ Repeated-Value Data-Binding Control Support हो सकता है, जिसमें DataSource नाम की Property हो।
हालांकि Single-Value Data-Binding की तरह ही Repeated-Value Data-Binding Control को भी Underlying Database से Retrieve होने वाले Data के साथ ही Bind करना जरूरी नहीं होता, बल्कि हम किसी Collection या Array के साथ भी इस Binding को Perform कर सकते हैं।
Data Binding एक ऐसी प्रक्रिया है, जिसे ठीक से समझे बिना आप ASP.NET WebForms आधारित Web Applications को ठीक से Develop व Control नहीं कर सकते। इसलिए यदि आप चाहें तो Advance ASP.NET WebForms in Hindi की ये EBook अभी खरीदकर Download कर सकते हैं और सरल हिन्दी भाषा में सैकड़ों Simple Examples के माध्यम से ASP.NET WebForms आधारित Web Applications Develop करना सीख सकते हैं।
ये Article इस वेबसाईट पर Selling हेतु उपलब्ध EBook Advance ASP.NET WebForms with C# in Hindi से लिया गया है। इसलिए यदि ये Article आपके लिए उपयोगी रहा, तो निश्चित रूप से ये पुस्तक भी आपके लिए काफी उपयोगी साबित होगी।
Advance ASP.NET WebForms in Hindi | Page:707 | Format: PDF