webgrid选择了行MVC 3

时间:2012-08-07 15:37:02

标签: asp.net-mvc-3 webgrid

我有2个WebGrid。我想使用属性SelectedRow。在第一个WebGrid中工作得很好,但第二个没有。

这是主视图(WebGrid 1),这里称为包含第二个WebGrid的局部视图:

@model IEnumerable<RolesMVC3.Models.ESTUDENT>

@{
    ViewBag.Title = "Index";
    WebGrid grid = new WebGrid(Model);
}

<h2>Index</h2>
@using (Html.BeginForm())
{

@grid.GetHtml(fillEmptyRows: false,
                alternatingRowStyle: "alternate",
                headerStyle: "header",
                tableStyle: "table",
                selectedRowStyle: "selected",
                mode: WebGridPagerModes.All,
                columns: new[] {
                grid.Column("IdEstudent", header: "ID"),
                grid.Column("NameEstudent", header: "Name"),
                grid.Column("LastNameEstudeNT", header: "Last Name"),
                grid.Column( "", header: "  ",format:@<text>@item.GetSelectLink("SELECT")</text>)
  })


  if (grid.HasSelection)
  {

      Html.RenderAction("Process", "Pass", new { id = grid.SelectedRow["IdEstudent"] });
   }

}

这是第二个WebGrid(WebGrid 2)的局部视图。 WebGrid 2包含记录,但为什么grid2.SelectedRow [“IdConsultation”]为NULL?

**Process.cshtml:**

@model IEnumerable<RolesMVC3.Areas.Manager.Models.ConsViewModel>
@{

    WebGrid grid2 = new WebGrid(Model);
}

@grid2.GetHtml( fillEmptyRows: false,
                alternatingRowStyle: "alternate",
                headerStyle: "header",
                tableStyle : "table",
                selectedRowStyle: "selected",
                mode: WebGridPagerModes.All,
                columns: new [] {
                grid2.Column("IdConsultation", header: "Consultation"),
                grid2.Column("Idregister", header: "Register"),
                grid2.Column( "", header: "  ",format:@<text>@item.GetSelectLink("SELECT")</text>)

  })


  @if (grid2.HasSelection)
  {

     <input type="hidden" id="Consultation" name="Consultation" value="@grid2.SelectedRow["IdConsultation"]"/>
     Html.RenderAction("EstudianiatesCJ1", "Sustitucion");
  }

祝福

2 个答案:

答案 0 :(得分:0)

grid2.SelectedRow ["IdConsultation"]为NULL,因为未选择任何内容。如果需要,您应该设置默认选择的第一行。

答案 1 :(得分:0)

我目前正在使用Javascript选择以下JS代码:

    $(document).on('click', '#selectBtn', function () {
        var tr = $(this).closest('tr');
        tr.addClass('info').siblings().removeClass('info');
        /*Here you can send selection to controller */

        return false;
    });

希望这有帮助!