Html.Textbox VS Html.TextboxFor

Jawaban:

117

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:

  1. Ketikan TextBoxForakan menghasilkan nama masukan Anda untuk Anda. Ini biasanya hanya nama properti tetapi untuk properti tipe kompleks dapat menyertakan garis bawah seperti 'customer_name'
  2. Menggunakan TextBoxForversi 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 .

David Glenn
sumber
7

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.

Jonathan
sumber
3

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.

Yogesh Yadav
sumber