网络配置:
<add key="ClientValidationEnabled" value="true"/>
<add key="UnobtrusiveJavaScriptEnabled" value="true"/>
JavaScript 引用的文件:
<script src="@Url.Content("~/Scripts/jquery-1.7.2.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/modernizr-1.7.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.unobtrusive-ajax.js") type="text/javascript"></script>
CSHTML 页面:
@using (Ajax.BeginForm(new AjaxOptions { UpdateTargetId = "result", LoadingElementId = "progress", InsertionMode = InsertionMode.Replace }))
{
<div class="form">
<div class="emailBox">
<input id="email" name="email">
<input type="submit" value="Join Us">
</div>
<div id="result">
</div>
<div id="progress" style="display:none;">
<img src= "@Url.Content("~/Content/images/Ajax-loader-bar.gif") ">
</div>
</div>
}
控制器.cs:
[HttpPost]
public string Index(SignUpModel model)
{
return "Hello";
}
当我点击提交按钮时,整个页面被一个写着“你好”的白页替换,这是什么原因。我的印象是 Ajax.BeginForm 将替换DIV RESULT的内容。
我究竟做错了什么??
此外,当 AJAX 调用将返回其值时,它会自动隐藏 LoadingElementID
吗?
=========================
答案
Firebug 显示未找到引用的 JS 文件之一。
在我修复之后..一切都按预期工作。
多谢你们