为什么Ajax.BeginForm会在提交后将我的页面重定向到新的空白页面?
我的控制器代码是:
[HttpPost]
public void ProductCommentAdd(int productId, string text)
{
//Do something
}
视图中的Mvc ajax调用是:
@using (Ajax.BeginForm("ProductCommentAdd", "Shop", new AjaxOptions() { HttpMethod = "POST"}))
{
<input type="hidden" value="@Model.ProductId" name="ProductId"/>
<textarea name="text"></textarea>
<input type="submit" value="Submit"
}
当我点击提交按钮时,我的页面会重定向到新的空白页面。我怎么解决它?
答案 0 :(得分:12)
您需要在页面中包含以下脚本:
<script src="@Url.Content("~/Scripts/jquery.unobtrusive-ajax.min.js")"
type="text/javascript"></script>
答案 1 :(得分:3)
正如@Mat J和@ user3206982建议的那样:你可能需要unobtrusive.ajax.js文件。
您可以从nuget和。下载该软件包 将它添加到bundle config:
bundles.Add(new ScriptBundle("~/bundles/jqueryunobtrusive").Include(
"~/Scripts/jquery.unobtrusive*"));
并在html中:
@Scripts.Render("~/bundles/jqueryunobtrusive")
来源:https://dotnetthoughts.net/mvc5-ajax-form-is-not-updating-div-but-replacing-the-whole-page-instead/