ฉันจะเข้าถึง ModelState จากภายใน View (หน้า aspx) ได้อย่างไร


114

ฉันจะเข้าถึง ModelState จากภายใน View (หน้า aspx) ได้อย่างไร


1
ฉันไม่คิดว่าคุณควร สิ่งนั้นควรเกิดขึ้นใน Controller
Matthew Groves

1
ฉันต้องการทราบว่า ModelState ของฉันถูกต้องหรือไม่ ฉันไม่ต้องการทำสิ่งนี้: <% if (Html.ValidationSummary ()! = null)%> <% {%> <p class = "validation-summary-error"> ข้อความของคุณไม่ได้ถูกส่ง โปรดแก้ไขข้อผิดพลาดด้านล่างแล้วลองอีกครั้ง </p> <%}%> แต่ฉันต้องการทำสิ่งนี้: <% if (! ViewData.ModelState.IsValid) {%> <p class = "validation-summary-error"> ข้อความของคุณไม่ถูกส่ง โปรดแก้ไขข้อผิดพลาดด้านล่างแล้วลองอีกครั้ง </p> <%}%>
Saajid Ismail

12
ดูเหมือนจะเป็นเหตุผลที่ดีพอที่จะเข้าถึง ModelState
BritishDeveloper

ไม่มีอะไรผิดปกติในการเข้าถึง ModelState ในมุมมอง เป็นส่วนหนึ่งของ ViewData
kennythecoder

คำตอบ:


180

ใช้ViewContext.ViewData.ModelState.


19
นอกจากนี้ยังควรทราบด้วยว่าคุณสามารถทำได้ViewData.ModelStateและหากคุณต้องการแสดงมาร์กอัปตามเงื่อนไขบางอย่างเกี่ยวกับข้อผิดพลาดคุณสามารถทำได้เช่นนี้:@if (!ViewData.ModelState.IsValid)
The Muffin Man
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.