我一直在使用用于ASP.NET MVC套件的Kendo UI,并且无法弄清楚如何做一些我认为非常简单的事情。
我有一个加载客户信息的基本网格:姓名,电话,传真,网站等。 我希望最右边的列是一个编辑按钮,它只是调用Details Action Result,向它传递它所单击的当前行的id。
我真的不想在这里问这个问题,但所有的例子都涉及内联编辑和弹出编辑。
以下是我目前的代码:
@(Html.Kendo().Grid<CustomerViewModel>()
.Name("CustomerGrid")
.Columns(columns => {
columns.Bound(c => c.Name);
columns.Bound(c => c.Phone);
columns.Bound(c => c.Fax);
columns.Bound(c => c.Website);
})
.Pageable(pageable => pageable
.Refresh(true)
.PageSizes(true)
.ButtonCount(5))
.DataSource(dataSource => dataSource
.Ajax()
.Read(read => read.Action("Customers_Read", "Customer"))
))
答案 0 :(得分:2)
解决方案
@(Html.Kendo().Grid<CustomerViewModel>()
.Name("CustomerGrid")
.Columns(columns => {
columns.Bound(c => c.Name).ClientTemplate("" + @Html.ActionLink("#: Name#", "ViewCompanyDetails", "Company", new {companyId = "#: CompanyId#"}, new {Title = "View #: CompanyName#"}) + "");
columns.Bound(c => c.Phone);
columns.Bound(c => c.Fax);
columns.Bound(c => c.Website);
})
.Pageable(pageable => pageable
.Refresh(true)
.PageSizes(true)
.ButtonCount(5))
.DataSource(dataSource => dataSource
.Ajax()
.Read(read => read.Action("Customers_Read", "Customer"))
))
解决方案
@(Html.Kendo().Grid<CustomerViewModel>()
.Name("CustomerGrid")
.Columns(columns => {
columns.Bound(c => c.Phone);
columns.Bound(c => c.Fax);
columns.Bound(c => c.Website);
columns.Command(command => command.Custom("ViewDetails").Click("location.href='@Url.Action("ViewCustomerDetail", "Customer", new { CustomerId = #=CustomerId# })'"));
})
.Pageable(pageable => pageable
.Refresh(true)
.PageSizes(true)
.ButtonCount(5))
.DataSource(dataSource => dataSource
.Ajax()
.Read(read => read.Action("Customers_Read", "Customer"))
))