我在mvc
中很新,基本上我有webform
背景。所以现在面临问题来渲染和使用多个check box
。
我已经开发了我的示例视图模型,现在需要帮助渲染多个checkboxes
。一组checkboxes
用于爱好,一组checkboxes
用于电影。
还希望当用户选择checkbox
然后我想要在同一视图中显示以表格格式检查的te checkboxes
。它会粘贴我的示例视图模型代码并期待帮助。如果需要在我的viewmodel
代码中修改任何内容,请执行此操作。
public class MyViewModel
{
public List<Movies> movies { get; set; }
public List<Hobbies> hobbies { get; set; }
}
public class Movies
{
public int ID = 0;
public string Name = string.Empty;
}
public class Hobbies
{
public int ID = 0;
public string Name = string.Empty;
}
public ActionResult About()
{
var oVm = new MyViewModel
{
hobbies = new List<Hobbies>
{
new Hobbies {ID=1,Name="Test1"},
new Hobbies {ID=2,Name="Test2"},
new Hobbies {ID=3,Name="Test3"},
new Hobbies {ID=4,Name="Test4"},
new Hobbies {ID=5,Name="Test5"}
},
movies = new List<Movies>
{
new Movies {ID=1,Name="Test1"},
new Movies {ID=2,Name="Test2"},
new Movies {ID=3,Name="Test3"},
new Movies {ID=4,Name="Test4"},
new Movies {ID=5,Name="Test5"}
}
};
return View();
}
感谢
答案 0 :(得分:1)
不是100%肯定你的要求,但我会从以下内容开始:
@for(int i = 0; i < Model.Chests.Count; i++)
{
@Html.DisplayFor(m => Model.movies[i].Id)
@Html.CheckBoxFor(m => Model.movies[i].Selected);
}
答案 1 :(得分:0)
我不确定你要在这里取得什么成就,但我可以给出一个开始的方向。首先,查看Html扩展方法CheckBoxFor
。
从描述中可以看出,它需要bool
,因此您必须扩展类以包含bool属性。例如IsSelected
。我将实现以下示例Movie
类:
public class Movie
{
public int Id { get; set; }
public string Name { get; set; }
public bool IsSelected { get; set; }
}
然后在您的视图中,您可以遍历您的移动集合并为每个移动显示一个复选框,如下所示:
@model MyViewModel
@using (Html.BeginForm())
{
for (int i = 0; i < Model.Movies.Count; i++)
{
<div>Movie Name: @Model.Movies[i].Name @Html.CheckBoxFor(x => Model.Movies[i].IsSelected)</div>
<div>@Html.HiddenFor(x => Model.Movies[i].Id)</div> //This will give you the id
}
<input type="submit" value="post" />
}
如果需要,您也可以使用此Hobby
课程。
这是你得到的:
以下是帖子后的结果: