我已經閱讀了asp.net MVC應用程序中沒有的viewstate。 我在做模型驗證。現在,如果我的網頁上有兩個文本框,並且我正在爲模型中的兩個人進行所需的驗證。這個驗證是在服務器端單擊一個按鈕完成的。我將填寫一個文本框並單擊提交按鈕。它進行驗證並返回結果,說第二個字段是必需的。此時保留第一個文本框的值。那麼你能告訴我這個文本框在回發後如何保留這個值嗎?在ASP.NET MVC應用程序中的視圖狀態
3
A
回答
0
該文本框的值綁定到模型值。
驗證失敗後,該頁面會在提交的狀態(即第一個文本框的值)和添加的任何ModelState錯誤時與其模型重新顯示。
沒有ViewState的未來在玩;-)
善良,
丹
9
沒有「回傳」。只有一個帖子。
- 服務器返回HTML。
- 瀏覽器呈現它。
- 用戶發佈廢話數據。
- 用戶提交的所有數據都保存在
Controller.ModelState
集合中。 - 如果存在驗證錯誤,則每個
ModelState
條目都有其Errors
屬性集。 - 服務器查看垃圾數據。返回與(1)相同的頁面,除了它包含用戶提交的數據,好或壞以及廢話數據的驗證錯誤。
- 瀏覽器呈現。
你打電話時,說,Html.TextBox("someName", someValue)
則文本框將包含someValue
除非有一個爲"someName"
一個ModelState
關鍵,在這種情況下,從ModelState
值來代替。這是最初顯示默認數據(如果有)的方式,但用戶數據在出現錯誤後顯示。
2
閱讀關於ModelState。發佈http表單時,值存儲在ModelState對象中,並在使用html助手(Html.Label,Html.Hidden,Html.TextBox)再次生成表單時重用。
- 表單使用Html.TextBox()顯示。
- 用戶首次輸入值。
- 表格已過帳。
- ModelState對象保存文本框值。
- 窗體再次使用Html.TextBox()第二次顯示。方法查看ModelState並在第一次發佈時再次設置它的值。即使您提供了新的值,它也會在ModelState對象中進行搜索。
-1
使視圖狀態實際上應該如果你回發到
同一頁面保留控件的值+0
MVC背後的想法是分離問題,不要將業務邏輯與視圖或UI混合在一起,並使用測試方法輕鬆測試網站http://forums.asp.net/t/1215012。 ASPX – 2011-06-21 11:03:16
1
視圖使用模型呈現。在失敗的驗證中,如果您將相同的模型(帶有ModelState錯誤)傳遞給視圖,它將使用額外的驗證消息重新填充相同的視圖,這些消息使用ModelState Errors進行渲染。
相關問題
- 1. ASP.NET MVC視圖狀態
- 2. 狀態視圖和應用程序視圖asp.net c#
- 3. ASP.net應用程序狀態
- 4. mvc中的應用程序狀態
- 5. 保存應用程序狀態ASP.NET MVC中的項目列表?
- 6. 什麼是ASP.NET MVC應用程序中的共享狀態?
- 7. 如何在ASP.Net MVC 4應用程序中使用Angular視圖?
- 8. 靜態類在Asp.NET MVC應用程序
- 9. 如何檢查應用程序的狀態重複的MVC asp.net
- 10. 如何在Asp.Net MVC 4應用程序或WebRole應用程序的SQL Server中存儲asp.net會話狀態?
- 11. asp.net視圖狀態
- 12. 視圖狀態在asp.net
- 13. 將ASP.NET網站應用程序導入到MVC應用程序中的視圖
- 14. 遍歷ASP.NET MVC應用程序中的可用視圖
- 15. 在ASP.NET MVC應用程序中保留匿名用戶的狀態信息
- 16. 在多視圖應用程序中維護狀態
- 17. JSP-Servlet應用程序的任何視圖狀態實現?
- 18. 多租戶ASP.NET MVC應用程序中的自定義視圖
- 19. Asp.net應用程序狀態到期
- 20. 在asp.net MVC應用程序
- 21. 在視圖中保留菜單樹狀態 - ASP.NET MVC 3
- 22. 在asp.net mvc應用程序中的TCPClient
- 23. 如何在ASP.NET MVC 3應用程序中實現共享狀態?
- 24. PHP應用程序狀態
- 25. 更換的ASP:樹視圖的ASP.NET MVC應用程序
- 26. 在應用程序調整大小時更改視圖狀態
- 27. 在ASP.NET MVC中啓用會話狀態
- 28. 的asp.net MVC應用程序
- 29. 無狀態ASP.NET MVC 6應用程序中基於Cookie的身份驗證
- 30. NServiceBus - 在MVC 3應用程序中檢索傳奇狀態
該值在html中重新發射!?! – 2010-04-09 13:48:09