0

2 つの WebGrid があります。プロパティ SelectedRow を使用したい。最初の WebGrid はうまく機能しますが、2 番目はそうではありません。

これはメイン ビュー (WebGrid 1) で、ここでは 2 番目の 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"] });
   }

}

これは、2 番目の 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");
  }

祝福

4

2 に答える 2

0

現在、次のJSコードでJavascriptによる選択を使用しています:

    $(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;
    });

この助けを願っています!

于 2014-01-20T17:44:54.197 に答える