在提交选择选项时,我终于学会了如何使用Ajax.BeginForm
在BeginForm块中进行表刷新。
当我单击“提交”部分视图时,每次都会按预期加载,这样功能就会被拨入。
我无法找到的是,当视图第一次加载时,如何告诉Controller在使用Index中的默认值加载部分视图。(“部分视图”支持索引操作)。
这是我可以从Controller那里做的事情,还是需要是jQuery?
为了提供更多的上下文,下面的代码是当前工作的内容--也就是说,部分视图仅在表单提交时加载,而在第一次视图加载时不显示。
视图:
@model ViewModelTest.ViewModels.StudentBehaviorDetailBySemesterViewModel
// ... code ...
@using (Ajax.BeginForm(actionName: "PartialTable",
controllerName: "StudentBehaviorDetailBySemester",
ajaxOptions: new AjaxOptions { UpdateTargetId = "TableData" }))
{
<div>
<p>Campus: @Html.DropDownListFor(c => c.SelectedCampus, Model.CampusList)</p>
<p>FY: @Html.DropDownListFor(c => c.SelectedFy, Model.FyList)</p>
<input type="submit" value="submit" />
</div>
}
<div id="TableData">
@{Html.Action("PartialTable", "StudentBehaviorDetailBySemester"
, new { vm = Model });}
</div>
@section scripts
{
<script src="~/Scripts/jquery.unobtrusive-ajax.js"></script>
}
控制器-索引和部分视图
[HttpGet]
public ActionResult Index(string SelectedCampus="MRA", string SelectedFy="FY16")
{
StudentBehaviorDetailBySemesterViewModel vm
= new StudentBehaviorDetailBySemesterViewModel();
vm.SelectedCampus = SelectedCampus;
vm.SelectedFy = SelectedFy;
vm.CampusList = new SelectList(Repositories.SelectLists.CampusList());
vm.FyList = new SelectList(Repositories.SelectLists.FiscalYearList());
return View(vm);
}
public ActionResult PartialTable(StudentBehaviorDetailBySemesterViewModel vm)
{
using (TestAccountContext db = new TestAccountContext())
{
var query = db.StudentBehaviorDetailBySemesters
.Where(m => m.Campus == vm.SelectedCampus)
.Where(m => m.Fy == vm.SelectedFy).ToList();
vm.BehaviorDetail = query;
}
return PartialView("PartialTable", vm);
}
发布于 2016-05-17 21:20:29
而不是
@{Html.Action("PartialTable", "StudentBehaviorDetailBySemester", new { vm = Model });}
你需要使用:
@{Html.RenderAction("PartialTable", "StudentBehaviorDetailBySemester", new { vm = Model });}
发布于 2016-05-17 21:29:26
如果要呈现部分视图,则必须更新部分视图语法.
@{Html.RenderAction("PartialTable", "ControllerName", new { vm = Model });}
https://stackoverflow.com/questions/37290705
复制相似问题