Html.Textbox और Html.TextboxFor में क्या अंतर है?
Html.Textbox और Html.TextboxFor में क्या अंतर है?
जवाबों:
अंततः वे दोनों एक ही HTML का उत्पादन करते हैं लेकिन Html.TextBoxFor () दृढ़ता से टाइप किया जाता है जहां Html.TextBox नहीं है।
1: @Html.TextBox("Name")
2: Html.TextBoxFor(m => m.Name)
दोनों का उत्पादन होगा
<input id="Name" name="Name" type="text" />
तो उपयोग के संदर्भ में इसका क्या मतलब है?
आम तौर पर दो चीजें:
TextBoxFor
आपके लिए आपके इनपुट नाम उत्पन्न करेगा। यह आमतौर पर सिर्फ संपत्ति का नाम होता है लेकिन जटिल प्रकारों के गुणों के लिए 'ग्राहक_नाम' जैसे अंडरस्कोर शामिल कर सकते हैंTextBoxFor
संस्करण का उपयोग करने से आप संकलन समय की जाँच कर सकेंगे। इसलिए यदि आप अपना मॉडल बदलते हैं तो आप देख सकते हैं कि आपके विचारों में कोई त्रुटि है या नहीं।MVC2 में जोड़े गए HtmlHelpers के दृढ़ता से टाइप किए गए संस्करणों का उपयोग करने के लिए इसे आमतौर पर बेहतर अभ्यास माना जाता है ।
TextBoxFor
एक नए MVC इनपुट MVC2 में शुरू की विस्तार है।
नए दृढ़ता से टाइप किए गए एक्सटेंशन का मुख्य लाभ रनटाइम के बजाय संकलन-समय पर कोई त्रुटि / चेतावनी दिखाना है।
इस पन्ने को देखें।
http://weblogs.asp.net/scottgu/archive/2010/01/10/asp-net-mvc-2-strongly-typed-html-helpers.aspx
IMO मुख्य अंतर यह है कि Textbox दृढ़ता से टाइप नहीं किया गया है। TextboxFor एक लैम्बडा को एक पैरामीटर के रूप में लेता है जो टाइप के दृश्य में उपयोग करने के लिए मॉडल के तत्व के साथ सहायक को बताता है।
आप दोनों के साथ एक ही काम कर सकते हैं, लेकिन जब संभव हो तो आपको टाइप किए गए विचारों और टेक्स्टबॉक्स का उपयोग करना चाहिए।
Html.TextBox amd Html.DropDownList दृढ़ता से टाइप नहीं किया जाता है और इसलिए उन्हें दृढ़ता से टाइप किए गए दृश्य की आवश्यकता नहीं होती है। इसका मतलब है कि हम जो भी नाम चाहते हैं उसे हार्डकोड कर सकते हैं। दूसरी ओर, Html.TextBoxFor और Html.DropDownListFor को दृढ़ता से टाइप किया जाता है और इसके लिए एक दृढ़ता से टाइप किए गए दृश्य की आवश्यकता होती है, और यह नाम लंबोदर एक्सप्रेशन से लिया गया है।
ज़ोर से टाइप किए गए HTML मददगार भी संकलन समय की जाँच करते हैं।
चूंकि, वास्तविक समय में, हम ज्यादातर दृढ़ता से टाइप किए गए विचारों का उपयोग करते हैं, अपने समकक्षों पर Html.TextBoxFor और Html.DropDownListFor का उपयोग करना पसंद करते हैं।
क्या, हम Html.TextBox & Html.DropDownList या Html.TextBoxFor & Html.DropDownListFor का उपयोग करते हैं, अंतिम परिणाम एक ही है, कि वे एक ही HTML का उत्पादन करते हैं।
MVC2 में ज़ोर से टाइप किए गए HTML हेल्पर्स जोड़े गए हैं।