2012-04-29 31 views
2

我正在研究一個需要在運行中構建「頁面」的項目。一個頁面可以包含各種控件,如文本框,複選框等。當前當用戶想要添加一個新的文本框時,我發出一個ajax請求並渲染局部視圖並返回HTML並在客戶端顯示它。這有效,但我也想在這些動態控件被用戶填滿時正確處理數據。在某種程度上,如果我沒有錯,我需要能夠製作一組HTML控件。現在,如果我們給靜態列表,以我們的觀點,並使用Html.TextboxFor我們看到,所產生的名字是什麼產生的文本框:關於動態文本框的一般概念

[0].FruitName 
[1].FruitName 
[2].FruitName 

如何做一個jQuery Ajax請求的時候,讓我總能得到我處理這個索引部分正確的索引並在客戶端上呈現。

如果有人有更好的解決方案比做Ajax請求,那麼也請讓我知道。我需要處理HTML控件的動態呈現,並在發回服務器時正確訪問它們的值。

回答

2

看看Non-Sequential Indiceshttp://haacked.com/archive/2008/10/23/model-binding-to-a-list.aspx
他引入了一個輔助方法來生成它。
此外,我認爲你可以傳遞一個索引與你的ajax調用,然後從Controller傳遞到你的局部視圖,並使用它來生成一個合適的索引文本框。

更新:
我問了一個非常類似的問題在Submit javascript dynamically added elements to controller method like Stackoverflow

+0

是的,這就是解決方案之一,但如果Ajax調用失敗發生。我必須手動然後跟蹤它。 – Jack

+0

@TomKaufmann您可以在您的ajax調用的OnComplete回調事件中增加計數器。 – Kamyar

+0

@TomKaufmann:我最後評論的意思是「OnSuccess」。猜猜你已經發現了它 – Kamyar