2012-11-17 18 views
0

背景:我正在閱讀Steven Sanderson和Adam Freeman撰寫的「ASP.Net MVC 3 Framework ...」。ASP.Net MVC中Ajax可更新區域的限制是什麼?

比方說,你有

<div id="ajax_update"> 
    ... 
</div> 

這部分應通過Ajax調用來更新。我的問題是,如果您不考慮手動處理某些XML/JSON數據,並且您依賴ResultView作爲輸出,那麼您可以放在那裏的限制/要求是什麼。

在我提到的那本書,有一個條目:

@Html.Action(...); 

所以當被觸發的Ajax方法,這Html.Action,然後調用來獲取數據顯示。但是,如果我想從兩個局部視圖,這樣建立什麼區域:

<div id="ajax_update"> 
    @Html.Action("List1"); 
    @Html.Action("List2"); 
</div> 

,如果我想什麼從三個部分的意見,構建它是什麼,如果操作是從不同的控制器,如果有什麼... - 簡言之,Ajax可更新區域的限制是什麼?可以,不可以?

或者它可能是非常直接的 - 是否必須是單個動作(在可更新區域中)完全匹配Ajax調用的動作?

再一次,我在處理來自ResultView's的數據的上下文,而不是手動處理JSON數據。


對於那些誰喜歡具體的例子 - 你有一個音樂列表 - 有它的動作/觀點 - 標籤列表(用作過濾器) - 也爲它的動作/圖。每次點擊標籤時,都應更新音樂列表和標籤列表 - 因此可更新區域包含來自兩個視圖的數據。

回答

0

回答我的問題...

阿賈克斯更新區域的初始內容是任何你想要的,這裏的Ajax是完全不相干的。

Ajax調用是另一個故事 - 整個區域被清除,然後來自單個動作調用的結果被替換。無論如何,Ajax調用的初始內容和結果無需相關。例如 - 首先你可以展示海灘的圖片海灘的圖片,並且在每個Ajax調用上你可以顯示兩張圖片的當前溫度INSTEAD(假設你的後一個動作/視圖呈現溫度,而不是溫度+圖片)。

爲了保持我在問題中給自己的例子 - 更新音樂列表和標籤列表 - 帶有音樂列表和標籤列表的視圖必須在一個Ajax動作調用中創建。