TextAreaFor Tidak Berfungsi Saat Menggunakan HtmlAttributes Overload

Untuk beberapa alasan, ketika saya mengatur properti gaya TextAreaFor saya khususnya properti lebar, itu tidak berfungsi, yang saya maksud adalah lebarnya tidak berubah, dan Id juga tidak berubah:

 @Html.TextAreaFor(model => model.AdminSetting.Style, new { htmlAttributes = new 
 { @class = "form-control", @style = "width: 100%;", @id = "HelloWorld" } })

Tetapi jika saya menghapus kata htmlAttributes dan mengubahnya menjadi ini maka itu berfungsi dengan baik. Saya sangat bertanya-tanya mengapa:

@Html.TextAreaFor(model => model.AdminSetting.Style, 
new { @class = "form-control", @style = "width: 100%;", @id = "HelloWorld" })

Apakah ada alasan mengapa TextAreaFor htmlAttributes saya tidak berfungsi kecuali saya menghapus deklarasi htmlAttributes dan mendeklarasikannya seperti ini?

 new { @class = "form-control", @style = "width: 100%;", @id = "HelloWorld" })

Daripada ini?

new { htmlAttributes = new 
 { @class = "form-control", @style = "width: 100%;", @id = "HelloWorld" } })

Saya telah memeriksa dokumentasinya, dan saya yakin saya menggunakan kelebihan beban yang benar.


person Willy David Jr    schedule 01.06.2018    source sumber
comment
htmlAttributes ini akan berfungsi untuk EditorFor . silakan lihat perbedaannya   -  person Asif Raza    schedule 01.06.2018
comment
Ya, saya yakin ini akan berhasil tetapi tidak berhasil TextAreaFor. Kata htmlAttributes ini adalah bagian dari template scaffolding yang dihasilkan dari MVC5.   -  person Willy David Jr    schedule 01.06.2018
comment
Ya itu berfungsi untuk EditorFor, saya memvalidasinya. Saya bertanya-tanya mengapa tidak di TextAreaFor?   -  person Willy David Jr    schedule 01.06.2018


Jawaban (2)


Coba seperti yang ditunjukkan di bawah ini:

@Html.TextAreaFor(m => m.AdminSetting.Style, 
    new { maxlength = 1000, @class = "form-control", @id = "HelloWorld" })

Pembantu, Html.TextAreaFor, Html.EditorFor, Html.DisplayFor unik karena disebut sebagai "pembantu templat". Daripada hanya mengeluarkan sedikit HTML, mereka sebenarnya mampu menggunakan tampilan untuk menentukan keluarannya. Tampilan ini masing-masing disebut sebagai "templat editor" atau "templat tampilan". Untuk informasi lebih lanjut silakan lihat Html.EditorFor dan htmlAttributes.

Semoga ini membantu...

person Murat Yıldız    schedule 02.06.2018

Sintaksis:

new { htmlAttributes = new { @class = "form-control", @style = "width: 100%;", @id = "HelloWorld" } })

mewakili data tambahan untuk ViewData dan dapat digunakan dengan EditorFor.

Lihat: MVC Lihat htmlAttribute tidak berfungsi

__System_Object_" rel="nofollow noreferrer" title ="EditorFor">MSDN - EditorUntuk

__System_Object_" rel="nofollow noreferrer"> MSDN - TextAreaFor

person Gecko    schedule 01.06.2018