我是 MVC 新手,在我的项目中使用剑道 ui 网格。我提出了一个问题,即我在控制器参数中得到“null”,尽管数据正在通过视图传递。请看下面的代码。
这是我查看的代码部分
@model IEnumerable<WeBOC.Support.Entities.Vessel>
@{
ViewBag.Title = "Vessels";
}
<h2>Vessels</h2>
@(Html.Kendo().Grid(Model)
.Name("Grid")
.Columns(column =>
{
column.Bound(c => c.VIRNbr).Width(100).ClientTemplate(@Html.ActionLink("#=VIRNbr#", "VesselInspector", new { id = "#=VesselVisitId#" }).ToHtmlString()).Title("VIR No.").Width(150);
column.Bound(c => c.VesselName).Width(150).Title("Vessel Name");
column.Bound(c => c.InboundVoyageNbr).Width(70).Title("IB Vyg");
column.Bound(c => c.OutboundVoyageNbr).Width(70).Title("OB Vyg");
column.Bound(c => c.ETA).Width(100).Title("ETA").Format("{0:dd/MM/yyyy HH:mm}");
column.Bound(c => c.ArrivalDate).Width(100).Title("ATA").Format("{0:dd/MM/yyyy HH:mm}");
})
.Groupable()
.Sortable()
.Pageable()
.Filterable()
.DataSource(datasource => datasource
.Ajax()
.ServerOperation(true)
.PageSize(20)
.Read(read => read
.Action("Vessels_Read", "VesselVisit", new { id = "\\#=State\\#"})
))
)
这是控制器方法
public ActionResult Vessels_Read([DataSourceRequest] DataSourceRequest request, string id)
{
return Json(GetVessels(id).ToDataSourceResult(request), JsonRequestBehavior.AllowGet);
}
为什么我在参数 id 中得到 null 虽然通过视图传递。
public ActionResult Vessels(string id)
{
return View(GetVessels(id));
}
public IEnumerable<Vessel> GetVessels(string phase)
{
IEnumerable<Vessel> vsl = null;
vsl = this._repository.GetVesselByPhase(phase);
return vsl;
}
任何帮助将不胜感激。
谢谢, 奥维斯