A - бритва с сеткой Telerik MVC. В первом столбце есть ссылка для удаления записи. Ссылка является Ajax Actionlink.
@(
Html.Telerik().Grid<QMS.Models.CustomerTableRow>(Model)
.Name("CustomerTable")
.Columns(c =>
{
c.Template(
@<text>
@Ajax.ActionLink("Delete","Delete", new { key = item.CustomerKey },new AjaxOptions{ Confirm="Delete this Customer?",UpdateTargetId = "CustomerTable", HttpMethod = "Delete"})
</text>
);
c.Bound(col => col.FirstName);
c.Bound(col => col.LastName);
c.Bound(col => col.Email);
c.Bound(col => col.HomePhone);
})
.Pageable()
.Sortable()
.Resizable(res => res.Columns(true))
.Scrollable()
)
//Action Method in view
//[HttpDelete] <-- can't have this or else a "Resource not found" error occurs
public ActionResult Delete(String key)
{
repo.DeleteCustomer(key);
return PartialView("CustomerTable", repo.GetCustomerTable());
}
Некоторые странные вещи случаются, когда я нажимаю на ссылку «Удалить», которую я создаю в столбце шаблона. Во-первых, подтверждающее сообщение не появляется, но действие удаления все еще вызывается. Во-вторых, даже если у меня HttpMethod = "Delete", если я декорирую метод действия с помощью [HttpDelete], я получаю ошибку "ресурс не найден". Наконец, эта сетка находится в частичном представлении, и метод действия возвращает частичное представление после удаления, однако все форматирование потеряно, как если бы CSS-файла больше не было. Ничего из этого не происходит, если ссылка отображается за пределами сетки. Я использую версию 2011.1.315