C# 为什么AjaxForm不适合我?
我有下面的表格,我想做的是,当人们点击搜索按钮时, 一个请求将文件发送到服务器,服务器将返回一组新的结果,我将重新呈现div以显示新的结果C# 为什么AjaxForm不适合我?,c#,ajax,asp.net-mvc-3,C#,Ajax,Asp.net Mvc 3,我有下面的表格,我想做的是,当人们点击搜索按钮时, 一个请求将文件发送到服务器,服务器将返回一组新的结果,我将重新呈现div以显示新的结果 @using (Ajax.BeginForm("Search", new AjaxOptions { HttpMethod = "Post", UpdateTargetId = "DivToUpdate" })) { <div style="margin: 10px 50px 5px 50px;">
@using (Ajax.BeginForm("Search", new AjaxOptions { HttpMethod = "Post", UpdateTargetId = "DivToUpdate" }))
{
<div style="margin: 10px 50px 5px 50px;">
@Html.TextBox("instrument", (string)ViewBag.DefaultInstrumentStr)
<input type="submit" value="Search" />
</div>
}
<div id="DivToUpdate" style="width: 100%; display: none;">
@if (Model != null)
{
@Html.Partial("_InstrumentList", @Model);
}
else
{
<span>Loading ....</span>
}
</div>
当我运行它时,单击搜索后,我将在浏览器中只看到局部视图,数据不会更新div
有人知道我做错了什么吗?
谢谢
有人知道我做错了什么吗
您忘记在页面中引用jquery.unobtrusive ajax.js
脚本:
<script src="@Url.Content("~/Scripts/jquery.unobtrusive-ajax.js")" type="text/javascript"></script>
您试图更新的div
必须位于Ajax.BeginForm
括号内。您必须引用一些脚本:
在MVC3中(将UnobtrusiveJavaScriptEnabled设置为true):
在MVC2和MVC3中(将UnobtrusiveJavaScriptEnabled设置为false):
对于不同之处,您可以查看以下内容:在visual studio中启动调试时。。我收到以下错误Microsoft JScript运行时错误:无法设置属性“unobtrusive”的值:对象为null或未定义,请单击“继续…”。。。。还是一样描述一下你到底得到了什么?你看过firebug或fiddler的请求/响应吗?您可以在调试模式下进入该方法吗?调试模式下为hmmm。。请求已提交到服务器。。但是这个div没有重新绘制。。。我错过什么了吗?忘了说。。谢谢你的建议。。。我添加了jquery.unobtrusive-ajax.js。。ajax请求似乎有效。。只是我的页面没有更新,我很糟糕。。我自己把显示器设为“无”
<script src="@Url.Content("~/Scripts/jquery.unobtrusive-ajax.js")" type="text/javascript"></script>
jquery.unobtrusive-ajax.js
MicrosoftMvcAjax.js