gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-04 12:48:14 24 4
gpt4 key购买 nike

在部分 Razor View 中,我有这个:

    @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, "Client"), style: "width:9%"),
grid.Column("Date", header: "Date " + Html.SortDirection(ref grid, "Date"), style: "width:9%"),
grid.Column("Time", header: "Time " + Html.SortDirection(ref grid, "Time"), style: "width:9%"),
grid.Column("Reference", header: "Reference " + Html.SortDirection(ref grid, "Reference"), style: "width:9%"),
grid.Column("Order", header: "Order " + Html.SortDirection(ref grid, "Order"), style: "width:15%"),
grid.Column("Customer", header: "Customer " + Html.SortDirection(ref grid, "Customer"), style: "width:15%"),
grid.Column("Street", header: "Street " + Html.SortDirection(ref grid, "Street"), style: "width:9%"),
grid.Column("Number", header: "No " + Html.SortDirection(ref grid, "Number"), style: "width:9%"),
grid.Column("Town", header: "Town " + Html.SortDirection(ref grid, "Town"), style: "width:9%"),
grid.Column("Crs", header: "Crs " + Html.SortDirection(ref grid, "Crs"), style: "width:15%"),
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 传递给 Controller ​​:
<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,然后将 id 从我的 Controller 发送到 ActionResult 方法中。

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

谢谢你。

最佳答案

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

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

这将生成带有 ID 的适当链接以传递回您的 Controller 。

关于asp.net - MVC 4 如何为 WebGrid 设置行 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17350068/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com