我是MVC的新手,並在我的項目中使用kendo ui網格。我提出了一個問題,即在控制器參數中出現「null」,儘管數據正在通過視圖傳遞。請參閱下面的代碼。當MVC控制器通過視圖時顯示空數據
這裏是我的代碼部分來自搜索
@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無效雖然通過視圖通過。
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;
}
任何幫助將不勝感激。
感謝, Ovais
'State'是'Vessel'的成員?在'vsl = this._repository.GetVesselByPhase(phase);'上添加一個斷點,並檢查是否在第一次訪問視圖時從版本庫讀取該值。 –
是的,州是船舶的成員。我已經通過放置斷點來檢查值。在第一次訪問時,我得到正確的值,但在分頁時,我變得空。 – user2542561