Asp.net mvc 4 在订单列表管理中显示产品名称
我想修改管理订单列表视图,使其与当前购物车页面类似,即具有详细信息视图,如果打开订单的详细信息视图,它将显示订单中订购的项目 为了实现这一点,我在代码中做了以下更改,但它不起作用Asp.net mvc 4 在订单列表管理中显示产品名称,asp.net-mvc-4,telerik,nopcommerce,Asp.net Mvc 4,Telerik,Nopcommerce,我想修改管理订单列表视图,使其与当前购物车页面类似,即具有详细信息视图,如果打开订单的详细信息视图,它将显示订单中订购的项目 为了实现这一点,我在代码中做了以下更改,但它不起作用 @(Html.Telerik().Grid<OrderModel>() .Name("orders-grid") .ClientEvents(events => events
@(Html.Telerik().Grid<OrderModel>()
.Name("orders-grid")
.ClientEvents(events => events
.OnDataBinding("onDataBinding")
.OnDataBound("onDataBound")
.OnComplete("onComplete"))
.Columns(columns =>
{
columns.Bound(x => x.Id)
.ClientTemplate("<input type='checkbox' name='checkedRecords'
value='<#= Id #>' class='checkboxGroups'/>")
.Title("<input id='mastercheckbox' type='checkbox'/>")
.Width(50)
.HtmlAttributes(new { style = "text-align:center" })
.HeaderHtmlAttributes(new { style = "text-align:center" });
columns.Bound(x => x.Id)
.Template(x => Html.ActionLink(x.CustomerEmail, "Details",
"Order", new { id = x.Id }, new { }))
.ClientTemplate("<a href=\"Edit/<#= Id #>\">" +
T("Admin.Common.View").Text + "</a>");
if (!Model.IsLoggedInAsVendor)
{
//a vendor does not see order details such statuses or
totals
columns.Bound(x => x.OrderStatus);
}
columns.Bound(x => x.PaymentStatus);
if (!Model.IsLoggedInAsVendor)
{
//a vendor does not see order details such statuses or
totals
columns.Bound(x => x.ShippingStatus);
}
columns.Bound(x => x.CustomerEmail);
columns.Bound(x => x.StoreName);
columns.Bound(x => x.CreatedOn);
if (!Model.IsLoggedInAsVendor)
{
//a vendor does not see order details such statuses or
totals
columns.Bound(x => x.OrderTotal)
.FooterTemplate(
string.Format("<div><strong>{0}:</strong></div>"
+
"<div>{1}: <span id=\"aggregator-
profit-block\"></span></div>" +
"<div>{2}: <span id=\"aggregator-
tax-block\"></span></div>" +
"<div>{3}: <span id=\"aggregator-
total-block\"></span></div>",
T("Admin.Orders.Report.Summary").Text,
T("Admin.Orders.Report.Profit").Text,
T("Admin.Orders.Report.Tax").Text,
T("Admin.Orders.Report.Total").Text));
}
columns.Bound(x => x.Id)
.Template(x => Html.ActionLink(T("Admin.Common.View").Text,
"Edit", new { id = x.Id }))
.ClientTemplate("<a href=\"Edit/<#= Id #>\">" +
T("Admin.Common.View").Text + "</a>")
.Width(50)
.Centered()
.Title(T("Admin.Common.View").Text);
})
.DetailView(details => details.ClientTemplate(
Html.Telerik().Grid<OrderModel.OrderProductVariantModel>()
.Name("cartitems-grid-<#= Order Id #>")
.Columns(columns =>
{
columns.Bound(sci => sci.FullProductName)
.Template(sci => Html.ActionLink(sci.FullProductName,
"Edit", "ProductVariant", new { id = sci.ProductVariantId }, new { }))
.ClientTemplate("<a href=\""+
@Url.Content("~/Admin/ProductVariant/Edit/") + "<#= ProductVariantId #>\"><#=
FullProductName #></a>");
columns.Bound(sci => sci.Quantity).Width(100);
columns.Bound(sci => sci.UnitPriceInclTax).Width(100);
columns.Bound(sci => sci.SubTotalInclTax).Width(100);
// columns.Bound(sci => sci.Store).Width(150);
// columns.Bound(sci => sci.UpdatedOn).Width(100);
})
.DataBinding(dataBinding => dataBinding.Ajax()
.Select("GetOrderDetails", "Order", new
{
OrderId =
"<#= OrderId #>"
}))
.ToHtmlString()
)
)
.Pageable(settings =>
settings.PageSize(gridPageSize).Position(GridPagerPosition.Both))
.DataBinding(dataBinding => dataBinding.Ajax().Select("OrderList",
"Order"))
.EnableCustomBinding(true))
@(Html.Telerik().Grid())
.名称(“订单网格”)
.ClientEvents(事件=>事件
.OnDataBinding(“OnDataBinding”)
.OnDataBound(“OnDataBound”)
.OnComplete(“OnComplete”))
.列(列=>
{
columns.Bound(x=>x.Id)
.ClientTemplate(“”)
.标题(“”)
.宽度(50)
.HtmlAttributes(新的{style=“text align:center”})
.HeaderHtmlAttributes(新的{style=“text align:center”});
columns.Bound(x=>x.Id)
.Template(x=>Html.ActionLink(x.CustomerEmail,“详细信息”,
“顺序”,新的{id=x.id},新的{})
.ClientTemplate(“”);
如果(!Model.IsLoggedInAsVendor)
{
//供应商看不到订单详细信息,如状态或
总数
columns.Bound(x=>x.OrderStatus);
}
columns.Bound(x=>x.PaymentStatus);
如果(!Model.IsLoggedInAsVendor)
{
//供应商看不到订单详细信息,如状态或
总数
columns.Bound(x=>x.ShippingStatus);
}
columns.Bound(x=>x.CustomerEmail);
columns.Bound(x=>x.StoreName);
columns.Bound(x=>x.CreatedOn);
如果(!Model.IsLoggedInAsVendor)
{
//供应商看不到订单详细信息,如状态或
总数
columns.Bound(x=>x.OrderTotal)
.页脚模板(
string.Format(“{0}:”
+
"{1}: " +
"{2}: " +
"{3}: ",
T(“管理命令、报告、摘要”)。文本,
T(“管理订单、报表、利润”).Text,
T(“管理命令、报告、税务”).Text,
T(“管理命令.报告.总计”).Text);
}
columns.Bound(x=>x.Id)
.Template(x=>Html.ActionLink(T(“Admin.Common.View”).Text,
“编辑”,新的{id=x.id})
.ClientTemplate(“”)
.宽度(50)
.Title(T(“Admin.Common.View”).Text);
})
.DetailView(details=>details.ClientTemplate(
Html.Telerik().Grid()
.Name(“cartitems网格-”)
.列(列=>
{
columns.Bound(sci=>sci.FullProductName)
.Template(sci=>Html.ActionLink(sci.FullProductName、,
“编辑”,“产品变量”,新的{id=sci.ProductVariantId},新的{})
.ClientTemplate(“”);
列绑定(sci=>sci.Quantity).Width(100);
columns.Bound(sci=>sci.unitpriceinclultax).Width(100);
列绑定(sci=>sci小计)。宽度(100);
//columns.Bound(sci=>sci.Store).Width(150);
//columns.Bound(sci=>sci.updateOn).Width(100);
})
.DataBinding(DataBinding=>DataBinding.Ajax()
。选择(“GetOrderDetails”、“Order”,新建
{
医嘱ID=
""
}))
.ToHtmlString()
)
)
.Pageable(设置=>
设置.PageSize(gridPageSize).Position(GridPagerPosition.Both))
.DataBinding(DataBinding=>DataBinding.Ajax().Select(“OrderList”,
"命令")
.EnableCustomBinding(true))
我试图通过OrdersProductVariantModel从OrdersModel的部分类中获取数据以显示此数据
我修改了OrderController以包含以下方法
[GridAction(EnableCustomBinding = true)]
public ActionResult GetOrderDetails(int OrderId)
{
if (!_permissionService.Authorize(StandardPermissionProvider.ManageCurrentCarts))
return AccessDeniedView();
// var customer = _customerService.GetCustomerById(customerId);
// var cart = customer.ShoppingCartItems.Where(x => x.ShoppingCartType == ShoppingCartType.ShoppingCart).ToList();
var order = _orderService.GetOrderById(OrderId);
var orderDetails = order.OrderProductVariants.ToList();
var gridModel = new GridModel<OrderModel.OrderProductVariantModel>()
{
// Data = cart.Select(sci =>
Data = orderDetails.Select(sci =>
{
// decimal taxRate;
// var store = _storeService.GetStoreById(sci.StoreId);
var sciModel = new OrderModel.OrderProductVariantModel()
{
Id = sci.Id,
// Store = store != null ? store.Name : "Unknown",
ProductVariantId = sci.ProductVariantId,
Quantity = sci.Quantity,
FullProductName = sci.ProductVariant.FullProductName,
// UnitPrice = _priceFormatter.FormatPrice(_taxService.GetProductPrice(sci.ProductVariant, _priceCalculationService.GetUnitPrice(sci, true), out taxRate)),
// Total = _priceFormatter.FormatPrice(_taxService.GetProductPrice(sci.ProductVariant, _priceCalculationService.GetSubTotal(sci, true), out taxRate)),
// UpdatedOn = _dateTimeHelper.ConvertToUserTime(sci.UpdatedOnUtc, DateTimeKind.Utc)
};
return sciModel;
}),
// Total = cart.Count
};
return new JsonResult
{
Data = gridModel
};
}
[GridAction(EnableCustomBinding=true)]
公共操作结果GetOrderDetails(int OrderId)
{
if(!\u permissionService.Authorize(StandardPermissionProvider.ManageCurrentCarts))
返回AccessDeniedView();
//var customer=\u customerService.getcustomerbyd(customerId);
//var cart=customer.ShoppingCartItems.Where(x=>x.ShoppingCartType==ShoppingCartType.ShoppingCart.ToList();
var order=\u orderService.GetOrderById(OrderId);
var orderDetails=order.OrderProductVariants.ToList();
var gridModel=new gridModel()
{
//数据=购物车。选择(sci=>
数据=订单详细信息。选择(sci=>
{
//十进制税率;
//var store=\u storeService.GetStoreById(sci.StoreId);
var sciModel=new OrderModel.OrderProductVariantModel()
{
Id=sci.Id,
//Store=Store!=null?Store.Name:“未知”,
ProductVariatid=sci.ProductVariatid,
数量=科学数量,
F