我的 asp.net mvc 视图中有以下内容Ajax.beginform
,其中 ajax 调用的结果将替换 <div id= "searcharea">
,如下所示:-
@using (Ajax.BeginForm("Search", "Patient",
new AjaxOptions
{
HttpMethod = "GET",
InsertionMode = InsertionMode.Replace,
UpdateTargetId = "searcharea",
LoadingElementId = "progress2"
}))
{
<table >
<tr>
<th>
Searching By First Name (English) :-
</th>
<th>
<input type="text" name="firstname" />
</th></tr>
<tr>
<th>
Searching By Family Name (English) :-
</th>
<th>
<input type="text" name="familyname" />
</th></tr>
<input type="submit" value="Search " /></th><th></th></tr>
</table>
}
<div id = "progress2">
<img src= "@Url.Content("~/Content/images/Ajax-loader-bar.gif") ">
</div>
<p>
<div id= "searcharea">
</div>
所以一开始我虽然我只能执行一次搜索,因为<div id= "searcharea">
它将被 ajax 调用的结果替换,之后它不会是 avilalbe,如果我尝试做另一个 ajax 调用,将不会更多<div id= "searcharea">
替换结果。
但实际发生的是,我能够毫无问题地进行多次搜索,这是否意味着InsertionMode.Replace
不会替换 DOM 元素,它只会在这个 DOM 中插入 ajax 调用的结果,因为我可以不明白我怎么能多次引用一个 DOM 元素,即使它已经被我的第一个 ajax 调用替换了???!!谁能解释这是怎么发生的?BR