假设我有一个局部视图,它只是一个用于输入某些数据的编辑框(asp.net应用程序)
@Html.Editor("New", new { htmlAttributes = new { @class = "my_editor" } })
在我的主视图中,我有一个部分,我想使用ajax调用使用上面提到的局部视图进行更新。
<div id="editor_section"></div>
我的问题是,是否可以使用相同的局部视图连续追加到同一个div。换句话说,我调用ajax一次,然后出现一个新的输入框。然后我再次点击ajax链接,显然第二个输入框出现在同一个局部视图中。而且每次在其他人下面添加一个新的输入框时,我应该能够继续这样做多次。
答案 0 :(得分:2)
是的,这是可能的,但效率不高。您只需要进行一次AJAX调用,然后就可以在JavaScript变量中缓存从局部视图中获取的html,因此当您稍后追加它时,您不必进行往返服务器的检索您已经请求的HTML。
类似的东西:
var inputHtml = null;
var appendInput = function () {
if (!inputHtml) {
$.get('/input', function (data) {
inputHtml = data;
$('#someDiv').append(inputHtml);
});
} else {
$('#someDiv').append(inputHtml);
}
};