Html.Textbox VS Html.TextboxFor


जवाबों:


117

अंततः वे दोनों एक ही HTML का उत्पादन करते हैं लेकिन Html.TextBoxFor () दृढ़ता से टाइप किया जाता है जहां Html.TextBox नहीं है।

1:  @Html.TextBox("Name")
2:  Html.TextBoxFor(m => m.Name)

दोनों का उत्पादन होगा

<input id="Name" name="Name" type="text" />

तो उपयोग के संदर्भ में इसका क्या मतलब है?

आम तौर पर दो चीजें:

  1. टाइप TextBoxForआपके लिए आपके इनपुट नाम उत्पन्न करेगा। यह आमतौर पर सिर्फ संपत्ति का नाम होता है लेकिन जटिल प्रकारों के गुणों के लिए 'ग्राहक_नाम' जैसे अंडरस्कोर शामिल कर सकते हैं
  2. टाइप किए गए TextBoxForसंस्करण का उपयोग करने से आप संकलन समय की जाँच कर सकेंगे। इसलिए यदि आप अपना मॉडल बदलते हैं तो आप देख सकते हैं कि आपके विचारों में कोई त्रुटि है या नहीं।

MVC2 में जोड़े गए HtmlHelpers के दृढ़ता से टाइप किए गए संस्करणों का उपयोग करने के लिए इसे आमतौर पर बेहतर अभ्यास माना जाता है ।


16

TextBoxForएक नए MVC इनपुट MVC2 में शुरू की विस्तार है।

नए दृढ़ता से टाइप किए गए एक्सटेंशन का मुख्य लाभ रनटाइम के बजाय संकलन-समय पर कोई त्रुटि / चेतावनी दिखाना है।

इस पन्ने को देखें।

http://weblogs.asp.net/scottgu/archive/2010/01/10/asp-net-mvc-2-strongly-typed-html-helpers.aspx


7

IMO मुख्य अंतर यह है कि Textbox दृढ़ता से टाइप नहीं किया गया है। TextboxFor एक लैम्बडा को एक पैरामीटर के रूप में लेता है जो टाइप के दृश्य में उपयोग करने के लिए मॉडल के तत्व के साथ सहायक को बताता है।

आप दोनों के साथ एक ही काम कर सकते हैं, लेकिन जब संभव हो तो आपको टाइप किए गए विचारों और टेक्स्टबॉक्स का उपयोग करना चाहिए।


3

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 हेल्पर्स जोड़े गए हैं।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.