加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net – MVC 4如何为WebGrid设置行ID

发布时间:2020-12-16 03:23:03 所属栏目:asp.Net 来源:网络整理
导读:在部分Razor视图中,我有这样的: @model IListStratent.ScanCloud.Shared.DeliveryOrderLineDto div id="gridDiv" style="width:100%; max-height:250px; overflow:auto; border:1px solid #d1d3d4"@{ var grid = new WebGrid(Model,defaultSort: "Date",sel
在部分Razor视图中,我有这样的:

@model IList<Stratent.ScanCloud.Shared.DeliveryOrderLineDto>

    <div id="gridDiv" style="width:100%; max-height:250px; overflow:auto; border:1px solid #d1d3d4">
@{

    var grid = new  WebGrid(Model,defaultSort: "Date",selectionFieldName: "SelectedRow",`enter code here`     fieldNamePrefix: "gridItem",ajaxUpdateContainerId: "grid");

}

  @if (Model.Count > 0)
  {
      @grid.GetHtml(

          tableStyle: "grid",alternatingRowStyle: "gridrow_alternate",//format:@<tr id= '@item.OrderId'> </tr>,selectedRowStyle: "highlight",rowStyle: "gridrow",htmlAttributes: new {id = "grid"},columns: grid.Columns(
              grid.Column("OrderId",header: "OrderId " + Html.SortDirection(ref grid,"Client"),style: "width:9%"),grid.Column("Client",header: "Client " + Html.SortDirection(ref grid,grid.Column("Date",header: "Date " + Html.SortDirection(ref grid,"Date"),grid.Column("Time",header: "Time " + Html.SortDirection(ref grid,"Time"),grid.Column("Reference",header: "Reference " + Html.SortDirection(ref grid,"Reference"),grid.Column("Order",header: "Order " + Html.SortDirection(ref grid,"Order"),style: "width:15%"),grid.Column("Customer",header: "Customer " + Html.SortDirection(ref grid,"Customer"),grid.Column("Street",header: "Street " + Html.SortDirection(ref grid,"Street"),grid.Column("Number",header: "No " + Html.SortDirection(ref grid,"Number"),grid.Column("Town",header: "Town " + Html.SortDirection(ref grid,"Town"),grid.Column("Crs",header: "Crs " + Html.SortDirection(ref grid,"Crs"),grid.Column("Document",header: "Document " + Html.SortDirection(ref grid,"Document"),style: "width:15%")
              )


           )
  }

 @if(Model.Count == 0)
    {
        <p>There are no OrderLines available.</p>
    }

</div>

在我打电话的主页面中

<%Html.RenderPartial("_orderLinesList",Model.Items); %>

然后我用它来将orderId传递给控制器??:

<script type="text/javascript">
     $(function () {
        $("tbody tr").click(function () {
            var url = '<%=Url.Action("SelectOrderLine","DeliveryOrderLines",new {id = "__id__"}) %>';
            url = url.replace('__id__',$(this).attr('id'));
            location.href = url;
        })
        .hover(function () { $(this).addClass('highlight'); },function () { $(this).removeClass('highlight'); });
    });

</script>

在我的Controller的ActionResult中

public ActionResult SelectOrderLine(int id)
    {
        return RedirectToAction("Index","DeliveryOrderLine",new {id = id});
    }

我没有收到任何身份证明.

在渲染的html代码中,我看到没有任何Id可以从Controller中的ActionResult中发送.

网格行不包含任何按钮,如编辑,删除…这不是预期的.

我想为每一行定义一个id,并在选择一行时使用该id,然后从我的Controller中将id发送到ActionResult方法.

你能告诉我如何解决这个问题吗?

谢谢.

解决方法

设置网格时,可以指定每列的格式:

grid.Column("InvoiceID",header: "Invoice",format: @<text>@Html.ActionLink((string)item.InvoiceID.ToString(),"Invoice",new { invoiceID = item.InvoiceID },null)</text>),

这将生成带有ID的相应链接以传递回控制器.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读