Bagaimana cara mengakses ModelState dari dalam View saya (halaman aspx)?

114

Bagaimana cara mengakses ModelState dari dalam View saya (halaman aspx)?

Saajid Ismail
sumber
1
Saya tidak berpikir Anda harus melakukannya. Hal semacam itu seharusnya terjadi di Controller.
Matthew Groves
1
Saya perlu tahu apakah ModelState saya valid. Saya tidak ingin melakukan ini: <% if (Html.ValidationSummary ()! = Null)%> <% {%> <p class = "validation-summary-error"> Pesan Anda tidak terkirim. Harap perbaiki kesalahan di bawah dan coba lagi. </p> <%}%> Sebaliknya saya ingin melakukan ini: <% if (! ViewData.ModelState.IsValid) {%> <p class = "validation-summary-error"> Pesan Anda tidak terkirim. Harap perbaiki kesalahan di bawah dan coba lagi. </p> <%}%>
Saajid Ismail
12
Kedengarannya seperti alasan yang cukup bagus untuk mengakses ModelState
BritishDeveloper
Sama sekali tidak ada yang salah dengan mengakses ModelState dalam tampilan. Itu bagian dari ViewData.
kennythecoder

Jawaban:

179

Gunakan ViewContext.ViewData.ModelState.

Mathias F
sumber
19
Juga perlu dicatat bahwa Anda dapat melakukannya ViewData.ModelStatedan jika Anda ingin menampilkan beberapa markup bersyarat pada kesalahan, Anda dapat melakukannya seperti ini:@if (!ViewData.ModelState.IsValid)
The Muffin Man