now*_*ed. 3 c# forms html5 asp.net-mvc-4 .net-4.5
我的观点如下:
<script src="@Url.Content("~/Scripts/jquery.unobtrusive-ajax.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.validate.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.js")" type="text/javascript"></script>
@using (Ajax.BeginForm(new AjaxOptions { HttpMethod = "Get", InsertionMode = InsertionMode.Replace, UpdateTargetId = "DisplayPatients" }))
{
    <input type="search" name="searchTerm" />
    <input type="submit" value="Do Search" />
}  
每当我尝试编译并查看我得到的html页面的来源时,我看到,
<form action="/" data-ajax="true" data-ajax-method="Get" data-ajax-mode="replace" data-ajax-update="#DisplayPatients" id="form0" 
   method="post">    
但是,在我的Ajax.BeginForm中,我指定了HttpMethod = Get.尽管如此,我还是method = "post"在输出html页面中找到了.
有什么想法吗?提前致谢.
编辑:
我甚至view-source在浏览器中检查了我的页面源代码.由此可见:
<script src="/Scripts/jquery.unobtrusive-ajax.js" type="text/javascript"></script>
<script src="/Scripts/jquery.validate.js" type="text/javascript"></script>
<script src="/Scripts/jquery.validate.unobtrusive.js" type="text/javascript"></script>
<form action="/" data-ajax="true" data-ajax-method="Get" data-ajax-mode="replace" data-ajax-update="#DisplayPatients" id="form0" method="post">    <input type="search" name="searchTerm" />
(注意脚本(jquery-unobstrusive)实际上就在那里)
但是,在我的Ajax.BeginForm中,我指定了HttpMethod = Get.尽管如此,我在输出html页面中得到了method ="post".
该jquery.unobtrusive-ajax.js脚本忽略该method属性并使用data-ajax-method(如果存在).所以实际的请求将是GET.查看Google Chrome开发者控制台的"网络"标签即可查看.
| 归档时间: | 
 | 
| 查看次数: | 6972 次 | 
| 最近记录: |