我是MVC的新手,我正在尝试在我的演示应用程序中使用WebGird控件,我做了一些如下任务:-
首页控制器
public ActionResult Index()
{
List<Student> listStudent = new List<Student>();
listStudent.Add(new Student { Id = 1000, Name = "Sumit Kesarwani", IsActive = true });
listStudent.Add(new Student { Id = 1001, Name = "Arun Singh", IsActive = true });
listStudent.Add(new Student { Id = 1002, Name = "Vijay Shukla", IsActive = false });
listStudent.Add(new Student { Id = 1003, Name = "Pwan Shukla", IsActive = true });
var data = listStudent;
return View(data);
}
学生.cs
public class Student
{
public int Id { get; set; }
public string Name { get; set; }
public bool IsActive { get; set; }
}
Index.cshtml
@model IEnumerable<MvcWebGrid.Models.Student>
@{
ViewBag.Title = "Home Page";
WebGrid webGrid = new WebGrid(Model);
}
@webGrid.GetHtml(columns: new[]{
webGrid.Column("Id"),
webGrid.Column("Name"),
webGrid.Column("IsActive", header: "", format:@<text><input name="isActive"
type="checkbox" @item.IsActive == "true" ? "checked" : ""/></text>)
})
上面WebGrid
将以readonly
模式显示所有数据,但我需要这些数据以可编辑模式显示,例如 Id 将显示在隐藏字段中,名称将显示在Textbox
中,当数据加载时checkbox
将检查其属性是否具有真值,checkbox
将检查,如果属性具有假值,则checkbox
将uncheck
。
请请帮助我!
任何帮助将不胜感激!
以下代码是我对你的问题的想法
@model IEnumerable<MvcWebGrid.Models.Student>
@{
ViewBag.Title = "Home Page";
var webGrid = new WebGrid(Model);
Func<bool, MvcHtmlString> func =
(b) => b ? MvcHtmlString.Create("checked="checked"") : MvcHtmlString.Empty;
}
@webGrid.GetHtml(columns: new[]{
webGrid.Column("Id" ,header: "", format:
@<text>
<input name="id" type="hidden" value="@item.Id" />
</text>),
webGrid.Column("Name", header: "", format:
@<text>
<input name="name" type="text" value="@item.Name"/>
</text>),
webGrid.Column("IsActive", header: "", format:
@<text>
<input name="isActive" type="checkbox" @func(item.IsActive)/>
</text>)
})