我有一个带有几个用于搜索的控件的视图。当用户搜索(Ajax.BeginForm)时,我将数据返回到动态生成的PartialView(Telerik MVC3网格)中。
一切正常。在网格中是用于选择行的按钮。当我选择一行时,它会发布到我的控制器,我会做一些" stuff"当我试图回到视图时,我得到的只是页面上的网格数据,它显示为没有边框的表格,没有其他控件等。我的代码在下面。
我的部分网格:
@model Highlander.Areas.Highlander.Models.ViewModels.DeliveriesGridViewModel
@using System.Data;
@(Html.Telerik().Grid<System.Data.DataRow>(Model.Data.Rows.Cast<System.Data.DataRow>())
.Name("Grid")
.DataKeys(dataKeys => dataKeys.Add("DeliveryID"))
.Columns(columns =>
{
columns.Command(commandbutton =>
{
commandbutton.Select().ButtonType(GridButtonType.ImageAndText);
}).Width(80).Title(ViewBag.Title);
columns.LoadSettings(Model.Columns as IEnumerable<GridColumnSettings>);
})
.DataBinding(dataBinding => dataBinding.Server().Select("_MarkSystem", "Deliveries"))
.EnableCustomBinding(true)
.Resizable(resize => resize.Columns(true))
)
我的控制器:
[GridAction]
public ActionResult _MarkSystem(GridCommand command, int id)
{
string shipDeliver = DataCache.ShipDeliver;
DataTable fullTable = DataCache.FullTable;
// call to function to get the datatable data based on the id
rHelpers.GetDataTableRow(id, fullTable, shipDeliver);
// get the data for the grid into the model
fullTable = DataCache.FullTable;
model = new DeliveriesGridViewModel();
model.Data = fullTable;
model.Columns = rHelpers.NewColumns(DataCache.FullTable);
return PartialView("_DeliveryGrid", model);
//if (Request.IsAjaxRequest())
//{
// return PartialView("_DeliveryGrid", model);
//}
//return PartialView("_DeliveryGrid", model);
//return PartialView("DeliveryManager", model);
}
正如你所看到的,我尝试了各种各样的事情但没有成功。
任何人都可以给我一些指导。
感谢您的时间。
答案 0 :(得分:0)
据我所知,您正在使用调用服务器端绑定的dataBinding.Server()
。使用.Editable(editing => editing.Mode(GridEditMode.InLine)
它会起作用。
两种绑定(服务器和Ajax)都需要编辑模式。进入编辑模式并再试一次。如果它不适合您,请回复。这里是完整的数据绑定代码:
**.DataBinding(dataBinding => dataBinding.Ajax()
.Select("myAction", "myController")
.Update("myAction",myController")).
Editable(editing => editing.Mode(GridEditMode.InLine))**