- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
所以.. 我有一个类有一个 List
。 我像下面的代码一样将它传递给 View :
[HttpGet]
[Authorize(Roles="user")]
[CustomChecker]
public ActionResult Index(int? page, int id=0)
{
EmployeeContext emp = new EmployeeContext();
student st = emp.students.Single(x=>x.id ==id);
@ViewBag.id = st.id;
return View(st.subjSel.ToPagedList(page ?? 1, 4));
}
然后 View 会像这样接收它:
@using PagedList;
@using PagedList.Mvc;
@model PagedList<MvcApplication6.Models.subject>
<div style="font-family:Arial">
<fieldset>
<legend><h3>Open Classes</h3></legend>
@using (Html.BeginForm("Test", "Enrollment"))
{
<input type="hidden" name="id" value="@ViewBag.id" />
<table border="1">
<tr>
<th>@Html.LabelFor(model => model[0].subj)</th>
<th>@Html.LabelFor(model => model[0].days)</th>
<th>@Html.LabelFor(model => model[0].cstart)</th>
<th>@Html.LabelFor(model => model[0].cend)</th>
<th>@Html.LabelFor(model => model[0].professor)</th>
<th>@Html.LabelFor(model => model[0].units)</th>
<th>@Html.CheckBox("test") Select all</th>
</tr>
@for (int i = 0; i < Model.Count; i++)
{
<tr>
@Html.HiddenFor(model => model[i].id)
<td>
@Html.DisplayFor(m => m[i].subj)
@Html.HiddenFor(m => m[i].subj)
</td>
<td>
@Html.DisplayFor(m => m[i].days)
@Html.HiddenFor(m => m[i].days)
</td>
<td>
@Html.DisplayFor(m => m[i].cstart)
@Html.HiddenFor(m => m[i].cstart)
</td>
<td>
@Html.DisplayFor(m => m[i].cend)
@Html.HiddenFor(m => m[i].cend)
</td>
<td>
@Html.DisplayFor(m => m[i].professor)
@Html.HiddenFor(m => m[i].professor)
</td>
<td>
@Html.DisplayFor(m => m[i].units)
@Html.HiddenFor(m => m[i].units)
</td>
<td>
@Html.CheckBoxFor(m => m[i].isSelected)
</td>
</tr>
}
</table>
<br />
<br />
<table>
<tr><td align="center" width="500px"></td></tr>
<tr>
<td align="center" width="500px">
<input type="submit" value="submit" /> | <input type="button" value="clear" />
</td>
</tr>
</table>
<br />
<br />
}
</fieldset>
</div>
@Html.PagedListPager(Model, page => Url.Action("Index", "Enrollment", new { page, id = Request.QueryString["id"] }))
我的问题是它会像这样呈现 [0].subj
并且不允许我绑定(bind),因为它应该像 name[0].subj
。
我一直在试验和尝试新的方法,有什么方法可以让我正确地绑定(bind)它们吗?我想尽可能多地使用 Html Helpers
,我不想仅为这部分重新实现一个自定义的。
这是他们应该绑定(bind)的函数。这个类(class)有一个List
学生(我转换成IPagedList的那个)
[HttpPost]
[Authorize(Roles="user")]
public ActionResult Test(student st)
这就是我的 View
的样子。我正在使用 CheckBoxFor
进行选择。
附加问题:我的导航怎么这么难看?
最佳答案
模型是 View 是@model PagedList<subject>
这意味着参数必须是
[HttpPost]
public ActionResult Test(IEnumerable<subject> model)
如果你也需要学生ID
属性,然后包含一个附加参数
[HttpPost]
public ActionResult Test(IEnumerable<subject> model, int ID)
因为你的 GET 方法有一个参数 int ID
并假设您使用默认路由,那么 ID 将添加到表单中 action
属性,即它将呈现 action="/Enrollment/Test/2"
假设 ID 的值为 2
.如果没有,您可以将其添加为路由参数
@using (Html.BeginForm("Test", "Enrollment", new { ID = ViewBag.id }))
或者你可以使用 View 模型
public class StudentVM
{
public int ID { get; set; }
public PagedList<student> Students { get; set; }
}
在 GET 方法中
public ActionResult Index(int? page, int id=0)
{
EmployeeContext emp = new EmployeeContext();
student st = emp.students.Single(x=>x.id ==id);
StudentVM model = new StudentVM()
{
ID = id,
Students = st.subjSel.ToPagedList(page ?? 1, 4)
};
return View(model);
}
然后将您的 View 基于 View 模型并将其发回给 public ActionResult Test(StudentVM model)
关于c# - 将 IPagedList 与复选框绑定(bind)为列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32559113/
我正在使用 Page List ASP MVC 插件将分页添加到我的 View ,因为我的 View 模型包含一个有时会有点失控的列表。但是,我遇到了一些问题。 View 模型包含一个 List另一个
在我的 Controller 中: int[] numbers = {1, 2, 3}; ViewBag.List = numbers; 然后在 View 中我这样做: @Html.PagedList
我正在使用 asp.net MVC 5 构建一个应用程序,并且有一个使用 IPagedList.MVC 版本 4.5.0.0、AutoMapper 和 Entity Framework 的网格。 在项
所以.. 我有一个类有一个 List。 我像下面的代码一样将它传递给 View : [HttpGet] [Authorize(Roles="user")] [CustomChecker] public
我发现在使用 NHibernate 并在一个对象上创建一对多关系时,当 many 变得非常大时,它会急剧减慢。现在我的存储库中确实有用于收集该类型的分页 IList 的方法,但是我更希望在模型上也有这
我有 IPagedList 接口(interface),它实现了这样的 IList public interface IPagedList : IList { int PageCount {
我在加载部分 View 的 ajax 选项卡式 Pane 中有一个分页列表。我在 IPagedlist 中使用了内置的 ajax,但部分 View 没有被正确替换,我做错了什么 我的 Ajax 调用/
这是完整的错误 Error CS1929 'IHtmlHelper>' does not contain a definition for 'PagedListPager' and the best
我使用 List 而不是 IEnumerable 模型 我的 Controller public ActionResult Index(int? page) {
我是一名优秀的程序员,十分优秀!