Ajax.ActionLink 使用不同的页面 MVC 4.5 Visual studio 2015
Ajax.ActionLink takes to a different Page MVC 4.5 Visual studio 2015
我检查了所有可能的 Whosebug 和 asp.net 关于这个主题的问题,但无法解决我的问题。
正如标题所说,我的 Ajax.ActionLink 重定向到一个新页面,而不是替换我选择的 div。我已经加载了所有必要的包
请参阅下面的代码:
在我的捆绑包中,我有这个:
bundles.Add(new ScriptBundle("~/bundles/jqueryval").Include(
"~/Scripts/jquery.validate*",
"~/scripts/jquery.unobtrusive-ajax"));
在 _Layout 页面底部
@Scripts.Render("~/bundles/lib")
@Scripts.Render("~/bundles/jqueryval")
@RenderSection("scripts", required: false)
查看
@Ajax.ActionLink("New User", "New", "Person", new AjaxOptions
{
UpdateTargetId = "userTable",
HttpMethod = "GET",
InsertionMode = InsertionMode.Replace,
OnFailure = "Something unexpected has occured"
},new {@class = "btn btn-primary"})
<div id="usersTable">
@Html.Partial("_UserTable")
</div>
@section scripts {...} // Some code to load the table on existing partial that is beeing rendered
Person 控制器中的新操作
public PartialViewResult New()
{
var person = new Person();
return PartialView("_UserForm", person);
}
请帮助我已经进行了好几天了,老实说,我几乎尝试了那里发布的所有内容。
编辑 1:作为对 jquery.unobtrusive-ajax.js 未正确加载或可能被覆盖的响应,我在页面上加载了浏览器脚本
<script src="/Scripts/jquery-3.1.1.js"></script>
<script src="/Scripts/bootstrap.js"></script>
<script src="/scripts/bootbox.js"></script>
<script src="/Scripts/respond.js"></script>
<script src="/scripts/datatables/jquery.datatables.js"></script>
<script src="/scripts/datatables/datatables.bootstrap.js"></script>
<script src="/scripts/toastr.js"></script>
<script src="/Scripts/jquery.validate.js"></script>
<script src="/Scripts/jquery.validate.unobtrusive.js"></script>
而不是这个
bundles.Add(new ScriptBundle("~/bundles/jqueryval").Include(
"~/Scripts/jquery.validate*",
"~/scripts/jquery.unobtrusive-ajax"));
不应该是这个吗?
bundles.Add(new ScriptBundle("~/bundles/jqueryval").Include(
"~/Scripts/jquery.validate*",
"~/Scripts/jquery.unobtrusive-ajax.js"));
缺少 .js 文件扩展名。
我检查了所有可能的 Whosebug 和 asp.net 关于这个主题的问题,但无法解决我的问题。 正如标题所说,我的 Ajax.ActionLink 重定向到一个新页面,而不是替换我选择的 div。我已经加载了所有必要的包 请参阅下面的代码: 在我的捆绑包中,我有这个:
bundles.Add(new ScriptBundle("~/bundles/jqueryval").Include(
"~/Scripts/jquery.validate*",
"~/scripts/jquery.unobtrusive-ajax"));
在 _Layout 页面底部
@Scripts.Render("~/bundles/lib")
@Scripts.Render("~/bundles/jqueryval")
@RenderSection("scripts", required: false)
查看
@Ajax.ActionLink("New User", "New", "Person", new AjaxOptions
{
UpdateTargetId = "userTable",
HttpMethod = "GET",
InsertionMode = InsertionMode.Replace,
OnFailure = "Something unexpected has occured"
},new {@class = "btn btn-primary"})
<div id="usersTable">
@Html.Partial("_UserTable")
</div>
@section scripts {...} // Some code to load the table on existing partial that is beeing rendered
Person 控制器中的新操作
public PartialViewResult New()
{
var person = new Person();
return PartialView("_UserForm", person);
}
请帮助我已经进行了好几天了,老实说,我几乎尝试了那里发布的所有内容。
编辑 1:作为对 jquery.unobtrusive-ajax.js 未正确加载或可能被覆盖的响应,我在页面上加载了浏览器脚本
<script src="/Scripts/jquery-3.1.1.js"></script>
<script src="/Scripts/bootstrap.js"></script>
<script src="/scripts/bootbox.js"></script>
<script src="/Scripts/respond.js"></script>
<script src="/scripts/datatables/jquery.datatables.js"></script>
<script src="/scripts/datatables/datatables.bootstrap.js"></script>
<script src="/scripts/toastr.js"></script>
<script src="/Scripts/jquery.validate.js"></script>
<script src="/Scripts/jquery.validate.unobtrusive.js"></script>
而不是这个
bundles.Add(new ScriptBundle("~/bundles/jqueryval").Include(
"~/Scripts/jquery.validate*",
"~/scripts/jquery.unobtrusive-ajax"));
不应该是这个吗?
bundles.Add(new ScriptBundle("~/bundles/jqueryval").Include(
"~/Scripts/jquery.validate*",
"~/Scripts/jquery.unobtrusive-ajax.js"));
缺少 .js 文件扩展名。