一段時間以來,我一直在玩MVC的不同方面,而且我不知道什麼是解決問題的最佳方式。我希望SO社區將幫助我在這裏:PASP.NET MVC2中的Ajax註釋表單,howto?
我見過一些Ajax.BeginForm在互聯網上的例子,它似乎是一個非常漂亮的想法。例如。你有一個下拉選擇一個客戶 - 選擇一個它會在頁面上的某個佔位符中加載該客戶的詳細信息。這工作非常好。
但是如果你想在盒子裏進行一些驗證,該怎麼辦?
只是假設,想象一個文章頁面,用戶評論在底部。在評論區域下方有一個ajax-y「添加評論」框。當用戶添加評論時,它將出現在評論區域中,在最後的評論下方。
如果我設置Ajax.BeginForm將調用的結果附加到註釋區域,它將正常工作。但是,如果發佈的數據無效,該怎麼辦?我不必向評論區域添加「成功」評論,而必須顯示用戶驗證錯誤。
在這一點上,我決定內部的Ajax.BeginForm區域將在一個部分內,並且表單的submits將返回這個部分。驗證工作正常。在每次提交時,我們重新加載表單元素中的內容。但是如何將成功的評論添加到頂部?
要考慮的其他事項:評論表單還有一個「預覽」按鈕。當用戶點擊預覽時,我應該將渲染的註釋加載到預覽框中。這可能也在表單區域內。
我想使用Json結果代替。當用戶提交表單時,服務器代碼將生成一個帶有成功值的Json對象,而HTML將部分作爲一些屬性呈現。像
{ "success": true, "form": "<html form data>", "comment": "successful comment html to inject into the page" }
這樣的東西將是一個完美的解決方案,但有一個在MVC沒有辦法使部分轉換爲字符串,在控制器內(背景的分離,還記得嗎?)。
UPD:似乎沒有人知道這個問題的答案......這是否意味着沒有辦法做到這一點,或者你只是不知道,傢伙?
這不是沒有人回答。目前還不清楚你的問題是什麼。 – 2010-11-01 12:25:01