2

私は 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);
        }

Student.cs

public class Student
    {
        public int Id { get; set; }
        public string Name { get; set; }
        public bool IsActive { get; set; }
    }

インデックス.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のモードではすべてのデータが表示されますが、ID が非表示フィールドに表示され、名前が表示され、データ ロードがチェックされたときにプロパティが true 値を持っているかどうか、およびプロパティがチェックされているかどうかreadonlyなど、これらのデータを編集可能モードで表示する必要があります。 false 値の場合は.Textboxcheckboxcheckboxcheckboxuncheck

お願い お願い 助けて!

どんな助けでも大歓迎です!

4

1 に答える 1

3

次のコードは、あなたの質問に対する私の考えです

@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>)
 })
于 2013-09-16T19:02:44.543 に答える