我正在使用 Telerik MVC 扩展版本 2012.1.419.340。我在网格中的命令列有问题。我将使用 Telerik 网站上的示例代码来解释我的问题。
我有这样的看法:
@model IEnumerable<Order>
@(Html.Telerik().Grid(Model)
.Name("Grid")
.Columns(columns =>
{
columns.Bound(o => o.OrderID).Width(100);
columns.Bound(o => o.ShipAddress);
columns.Command(commands => commands
.Custom("viewDetails")
.Text("View Details")
.DataRouteValues(route => route.Add(o => o.OrderID).RouteKey("orderID"))
.Ajax(true)
.Action("ViewDetails", "Grid"))
.HtmlAttributes(new { style = "text-align: center" })
.Width(150);
})
.ClientEvents(events => events.OnComplete("onComplete"))
.DataBinding(dataBinding => dataBinding.Ajax().Select("_CustomCommand", "Grid"))
.Pageable()
.Sortable()
.Filterable()
)
和我的订单模型
public class Order{
public int OrderID {get;set;}
public string ShipAddress {get ; set; }
public bool CanEdit {get; set;}
}
我希望我的命令列根据 CanEdit 值使用不同的操作。例如,如果 CanEdit 为 false,则使用 action
columns.Command(commands => commands
.Custom("viewDetails")
.Text("View Details")
.DataRouteValues(route => route.Add(o => o.OrderID).RouteKey("orderID"))
.Ajax(true)
.Action("ViewDetails", "Grid"))
.HtmlAttributes(new { style = "text-align: center" })
如果 CanEdit 为真,则使用操作
columns.Command(commands => commands
.Custom("editDetails")
.Text("Edit Details")
.DataRouteValues(route => route.Add(o => o.OrderID).RouteKey("orderID"))
.Ajax(true)
.Action("EditDetails", "Grid"))
.HtmlAttributes(new { style = "text-align: center" })
你能给我一些想法如何实现它吗?
谢谢