Apa perbedaan antara Html.Textbox dan Html.TextboxFor?
Apa perbedaan antara Html.Textbox dan Html.TextboxFor?
Jawaban:
Pada akhirnya mereka berdua menghasilkan HTML yang sama tetapi Html.TextBoxFor () sangat diketik sedangkan Html.TextBox tidak.
1: @Html.TextBox("Name")
2: Html.TextBoxFor(m => m.Name)
keduanya akan menghasilkan
<input id="Name" name="Name" type="text" />
Jadi apa artinya dalam hal penggunaan?
Secara umum ada dua hal:
TextBoxFor
akan menghasilkan nama masukan Anda untuk Anda. Ini biasanya hanya nama properti tetapi untuk properti tipe kompleks dapat menyertakan garis bawah seperti 'customer_name'TextBoxFor
versi yang diketik akan memungkinkan Anda menggunakan pemeriksaan waktu kompilasi. Jadi jika Anda mengubah model Anda, maka Anda dapat memeriksa apakah ada kesalahan dalam tampilan Anda.Umumnya dianggap sebagai praktik yang lebih baik untuk menggunakan versi HtmlHelpers yang diketik dengan kuat yang ditambahkan di MVC2 .
Ini TextBoxFor
adalah ekstensi input MVC baru yang diperkenalkan di MVC2.
Manfaat utama dari ekstensi baru yang sangat diketik adalah menampilkan kesalahan / peringatan apa pun pada waktu kompilasi daripada waktu proses.
Lihat halaman ini.
http://weblogs.asp.net/scottgu/archive/2010/01/10/asp-net-mvc-2-strongly-typed-html-helpers.aspx
IMO perbedaan utamanya adalah bahwa Textbox tidak diketik dengan kuat. TextboxUntuk mengambil lambda sebagai parameter yang memberi tahu helper elemen with dari model untuk digunakan dalam tampilan yang diketik.
Anda dapat melakukan hal yang sama dengan keduanya, tetapi Anda harus menggunakan tampilan yang diketik dan TextboxFor jika memungkinkan.
Html.TextBox amd Html.DropDownList tidak diketik dengan kuat dan karenanya tidak memerlukan tampilan yang diketik dengan kuat. Ini berarti kami dapat membuat kode keras nama apa pun yang kami inginkan. Di sisi lain, Html.TextBoxFor dan Html.DropDownListFor sangat diketik dan memerlukan tampilan yang diketik dengan kuat, dan namanya disimpulkan dari ekspresi lambda.
Pembantu HTML yang diketik dengan kuat juga menyediakan pemeriksaan waktu kompilasi.
Karena, dalam waktu nyata, kami kebanyakan menggunakan tampilan yang diketik dengan kuat, lebih suka menggunakan Html.TextBoxFor dan Html.DropDownListFor daripada rekan-rekannya.
Apakah kita menggunakan Html.TextBox & Html.DropDownList ATAU Html.TextBoxFor & Html.DropDownListFor, hasil akhirnya sama, yaitu menghasilkan HTML yang sama.
Pembantu HTML yang diketik dengan kuat ditambahkan di MVC2.