2014-10-20 105 views
0

假設我有隻是一個編輯框,在我主視圖輸入一些數據(asp.net應用程序)AJAX多次追加到同一個div

@Html.Editor("New", new { htmlAttributes = new { @class = "my_editor" } }) 

的局部視圖,我有一節,我想用上面提到的使用ajax調用的局部視圖進行更新。

<div id="editor_section"></div> 

我的問題是,是否有可能使用相同的局部視圖連續追加到相同的div。換句話說,我調用一次Ajax,並出現一個新的輸入框。然後我再次點擊ajax鏈接,第二個輸入框顯然來自相同的局部視圖。而且我應該能夠繼續這麼做,因爲每次我在其他人下面添加一個新的輸入框時,我都會這麼做。

回答

2

是的,這是可能的,但效率不高。您只需要進行一次AJAX調用,然後就可以將從部分視圖中獲得的html緩存到JavaScript變量中,因此,稍後再添加它時,您不必往回取回服務器即可檢索您已經請求的HTML。

喜歡的東西:

var inputHtml = null; 

var appendInput = function() { 
    if (!inputHtml) { 
     $.get('/input', function (data) { 
      inputHtml = data; 
      $('#someDiv').append(inputHtml); 
     }); 
    } else { 
     $('#someDiv').append(inputHtml); 
    } 
}; 
+0

所以在時間的情況下,獲取也許3個輸入框,我需要他們以後呢?如果我需要更多,然後再次調用ajax,否則,如果我不再需要,那麼我都準備好了嗎? - 你能包括一個如何附加到div的例子嗎? – 2014-10-20 16:44:16

+1

您只需要通過AJAX檢索輸入一次。之後,你已經有了HTML,所以不需要進一步的AJAX調用。看我的編輯。您將輸入HTML存儲在全局變量中。 – 2014-10-20 16:55:16

+0

ohhhh好吧我明白了,我現在正在嘗試,謝謝! – 2014-10-20 17:02:40