gpt4 book ai didi

c# - 如何在 View 首次加载时加载部分 View ?

转载 作者:太空宇宙 更新时间:2023-11-03 23:15:53 26 4
gpt4 key购买 nike

我终于学会了如何使用 Ajax.BeginForm 在 BeginForm block 中提交选择时刷新表格。

当我单击“提交”时,每次都会按预期加载部分 View ,以便拨入该功能。

我一直没能找到的是我如何告诉 Controller 在 View 首次加载时加载部分 View ,使用索引操作中的默认值。 (分部 View 支持索引操作)。

这是我可以从 Controller 做的事情还是需要 jQuery?

为了提供更多上下文,以下代码是目前有效的代码——也就是说,部分 View 仅在提交表单时加载,但不会在第一次加载 View 时显示。

查看:

@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>
}

Controller ——索引和局部 View

[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);
}

最佳答案

如果你想渲染一个局部 View ,你必须更新你的局部 View 语法...

@{Html.RenderAction("PartialTable", "ControllerName", new { vm = Model });}

关于c# - 如何在 View 首次加载时加载部分 View ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37290705/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com