[英]Kendo Grid Ajax inside Kendo TabStrip Ajax (LoadContentForm) not displaying content
我想在Ajax Kendo TabStrip中放置一個Ajax Kendo網格,但是該網格永遠不會顯示其任何值。 (即使FireBug控制台指示已正確獲取值...)
這是一個已知的問題 ?
提前致謝。
這是我的代碼:
Ajax Kendo TabStrip:
@(Html.Kendo().TabStrip()
.Name("portailClientsTabStrip")
//.HtmlAttributes(new { style="height:100%" })
.Animation(animation =>
{
animation.Enable(true);
animation.Open(config =>
{
//config.Expand();
config.Fade(FadeDirection.In);
config.Duration(AnimationDuration.Fast);
});
})
.Items(tabstrip =>
{
tabstrip.Add().Text("Livraisons")
.Selected(true)
.LoadContentFrom(Url.Content("Livraison"));
tabstrip.Add().Text("Remplissage")
.LoadContentFrom(Url.Content("Remplissage"));
tabstrip.Add().Text("Expéditions")
.LoadContentFrom(Url.Content("Expedition"));
tabstrip.Add().Text("Collectes")
.LoadContentFrom(Url.Content("Collecte"));
tabstrip.Add().Text("Annonces").LoadContentFrom(Url.Content("Annonce"));
})
.Events(e=>e
.Select("portailClientsTabStripSelectHandler")
.Activate("portailClientsTabStripActivate")
))
Ajax Kendo Grid內部局部視圖Annonce:
@(Html.Kendo().Grid<Integraal.Models.Mouvement>()
.Name("grilleMouvements") // Préfixe du nom de la grille par l'identifiant de la vue partielle.
.Columns(columns =>
{
columns.Bound(m => m.mvt_cli_code);
columns.Bound(m => m.mvt_detenteur_code);
columns.Bound(m => m.mvt_date_prev);
columns.Bound(m => m.mvt_date);
columns.Bound(m => m.mvt_prod_code);
columns.Bound(m => m.mvt_quantite);
columns.Bound(m => m.mvt_flag).Visible(false);
})
.Navigatable()
.Sortable()
.Scrollable()
.Filterable()
.Resizable(resize => resize.Columns(true)) //Colonnes réglables en largeur
.DataSource(dataSource => dataSource
.Ajax()
.Read(r => r.Action("readAnnonces", "PortailClients"))
)
.Events(e => e.DataBound("grilleAnnoncesDataBound")))
您不應使用LoadContentFrom在Tabstrip內部加載網格
使用Content(@<text> @Html.Action("YourAction","YourController")</text>)
我沒有JavaScript錯誤。
這是我完整的局部視圖代碼:
@model Integraal.Models.Mouvement
<script type="text/javascript">
function grilleAnnoncesDataBound(e) {
//$('tr').each(function () {
// if ($(this).text() == 'Jane') { $(this).addClass('customClass') }
//});
}
</script>
@(Html.Kendo().Grid<Integraal.Models.Mouvement>()
.Name("grilleMouvements") // Préfixe du nom de la grille par l'identifiant de la vue partielle.
.Columns(columns =>
{
columns.Bound(m => m.mvt_cli_code);
columns.Bound(m => m.mvt_detenteur_code);
columns.Bound(m => m.mvt_date_prev);
columns.Bound(m => m.mvt_date);
columns.Bound(m => m.mvt_prod_code);
columns.Bound(m => m.mvt_quantite);
columns.Bound(m => m.mvt_flag).Visible(false);
})
.Navigatable()
.Sortable()
.Scrollable()
.Filterable()
.Resizable(resize => resize.Columns(true)) //Colonnes réglables en largeur
.DataSource(dataSource => dataSource
.Ajax()
.Read(r => r.Action("readAnnonces", "PortailClients"))
)
.Events(e => e.DataBound("grilleAnnoncesDataBound"))
)
這是我的控制器的動作:
public PartialViewResult Annonce()
{
return PartialView();
}
public JsonResult readAnnonces([DataSourceRequest] DataSourceRequest request)
{
MouvementService service = new MouvementService();
IEnumerable<Mouvement> liste = service.getMouvements("A");
Dictionary<string, object> session = new Dictionary<string, object>();
session.Add("listeAnnonces", liste);
GlobalSession.SetInSession<Dictionary<string, object>>("1", session);
return Json(liste.ToDataSourceResult(request));
}
謝謝你幫我
返回Json時,請確保return語句中包含JsonRequestBehavior.AllowGet。 希望這可以幫助
例:
返回Json(videos.VideoList.ToDataSourceResult(request),JsonRequestBehavior.AllowGet);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.