У меня есть приложение MVC 4 с сеткой Kendo UI, которое я использую для управления пользователями. Я отображаю информацию о пользователях в сетке и имею настраиваемую командную кнопку, при нажатии которой открывается новая страница для редактирования информации о пользователях. По разным причинам (одна из которых заключается в том, что слишком много информации для редактирования для отображения в сетке) мне нужно редактировать пользователей на новой странице, а не с помощью встроенного или всплывающего или встроенного редактирования. Моя сетка выглядит так... очень просто
@(Html.Kendo().Grid<WebSiteNew.Models.ManageUsersViewModel>()
.Name("grid")
.HtmlAttributes(new { style = "margin-top: 5px" })
.Columns(c =>
{
c.Bound(model => model.UserName);
c.Bound(model => model.FirstName);
c.Bound(model => model.LastName);
c.Bound(model => model.Email);
c.Bound(model => model.Phone);
c.Bound(model => model.Extension);
c.Bound(model => model.JobTitle);
c.Command(com => { com.Custom("Edit").Click("edit"); com.Destroy(); });
})
.Pageable()
.Sortable()
.Selectable()
.DataSource(d => d
.Ajax()
.PageSize(20)
.Model(m => m.Id(i => i.UserName))
.Read(r => r.Action("ManageUsers_Read", "ManageUsers"))
.Destroy(o => o.Action("ManageUsers_Destroy", "ManageUsers"))
))
Проблема, с которой я столкнулся, заключается в том, что мне нужно передать идентификатор пользователя, на которого была нажата кнопка редактирования, на экран редактирования, чтобы я мог вывести информацию для выбранного пользователя. Единственный известный мне способ получить эту информацию - через javascript, что-то вроде этого в моей функции нажатия кнопки команды...
function edit() {
var grid = $("#grid").data("kendoGrid");
var row = grid.select();
var dataItem = grid.dataItem(row);
var id = dataItem.UserId;
location = "@Url.Action("EditUser")";
}
Это дает мне идентификатор, который мне нужен, но у меня нет способа (известного мне) передать его обратно моему контроллеру. Итак, мой вопрос: как мне вернуть эту информацию на сервер? Есть ли другой способ получить нужную мне информацию, или это невозможно в Kendo UI MVC?
Чтобы сделать это более общим вопросом... когда я смотрю документацию пользовательского интерфейса Kendo, и она говорит мне, как получить значение в javascript... как вообще можно использовать это значение в приложении MVC, когда оно нужно на стороне сервера? Кажется, я не могу найти альтернативный способ MVC сделать это в своей документации.