我试图在用户点击链接时尝试加载部分视图以加载当前视图,但它会继续加载部分视图,而不是加载到同一视图上。
不确定我错过了什么。
主视图控制器
public PartialViewResult MonitorDetail(MonitorType mType)
{
return PartialView("MonitorDetail", mType);
}
主视图
<script src="~/Scripts/jquery-2.1.1.js"></script>
<script src="~/Scripts/jquery.unobtrusive-ajax.js"></script>
<p class="lbutton radius">
@Ajax.ActionLink("SQL Cluster Online ", "MonitorDetail", "NOCCon", MonitorType.AHSSQLCluster, new AjaxOptions() { UpdateTargetId = "monitorDetail" })
<span class="lbutton-addition @(Model.SQLClusterOnline ? "online" : "offline")">
@(Model.SQLClusterOnline ? "Online" : "Offline")
</span></p>
<div id="monitorDetail"></div>
部分视图
@model PAL.Intranet.MonitorType
<div>
You choose @Model.ToString()
</div>
还告诉我mType是null但是我在ActionLink中传递它是MonitorType所以我把它添加为可空的所以我可以尝试找出第一个问题,然后继续处理第二个问题。
答案 0 :(得分:3)
如果它只显示部分视图,那么因为你没有包含Ajax.ActionLink
工作所需的文件(它只是执行正常的重定向)。确保您已添加jquery.{version}.js
和jquery.unobtrusive-ajax.js
参数mType
为空的原因是您没有传递值。它应该是
@Ajax.ActionLink("SQL Cluster Online ", "MonitorDetail", "NOCCon", new { mtype = MonitorType.AHSSQLCluster }, new AjaxOptions() ....)