我的观点如下:
<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
。尽管如此,输出的HTML页面中仍然是method = "post"
。
有任何想法吗?提前致谢。
编辑:
我甚至通过在浏览器中使用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”
的原因。 - now he who must not be named.method
操作是什么,请求类型始终从data-ajax-method
中推断出来。如果是一个get
请求,那么它总是一个get
请求。 - now he who must not be named.