Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/264.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 剑道TabStrip:如何将具有不同模型的局部视图传递给Tbstrip mvc3_C#_Asp.net Mvc 3_Kendo Tabstrip - Fatal编程技术网

C# 剑道TabStrip:如何将具有不同模型的局部视图传递给Tbstrip mvc3

C# 剑道TabStrip:如何将具有不同模型的局部视图传递给Tbstrip mvc3,c#,asp.net-mvc-3,kendo-tabstrip,C#,Asp.net Mvc 3,Kendo Tabstrip,这是我的GrillerBriquefixe列表:` ` @model IEnumerable @使用Kendo.Mvc.UI; @{ ViewBag.Title=“Rubrique Fixes”; } @科长视图{ } 红宝石修复 @(Html.Kendo().Grid(模型) .名称(“网格”) .HtmlAttributes(新的{style=“宽度:500px;高度:300px”}) .可编辑(编辑=> { editing.Mode(GridEditMode.InCell).Templa

这是我的GrillerBriquefixe列表:`

`
@model IEnumerable
@使用Kendo.Mvc.UI;
@{
ViewBag.Title=“Rubrique Fixes”;
}
@科长视图{
}
红宝石修复
@(Html.Kendo().Grid(模型)
.名称(“网格”)
.HtmlAttributes(新的{style=“宽度:500px;高度:300px”})
.可编辑(编辑=>
{
editing.Mode(GridEditMode.InCell).TemplateName(“PopupEditor/PopupGrillerUrubriquefixe”)
.窗口(w=>w.标题(“NeoPaie:Ajouter/Modifier une RubriqueFixe”).宽度(400).高度(350));
编辑。显示删除确认(“您是否愿意为您的供应商提供RubriqueFixe?”);
})
.工具栏(命令=>
{
commands.Create().Text(“Ajouter”).HtmlAttributes(新的{style=“width:100px;float:right”});
})
.DataSource(DataSource=>DataSource
.Ajax()
.读(“读”、“烤面包片”)
.创建(“保存”、“GrilleRubriqueFixe”)
.更新(“保存”、“GrilleRubriqueFixe”)
.销毁(“删除”、“删除”或“修订”)
.Model(Model=>Model.Id(p=>p.grill\u Rubrique\u FixeId))
.Events(e=>e.RequestEnd(“OnKendoGridSaveEnd”).Error(“OnKendoGridPopUpplistSaveError”))
)
.列(列=>
{
columns.Bound(p=>p.grill\u Rubrique\u FixeId).Groupable(false).Hidden();
列。绑定(p=>p.CODE)。宽度(50)。标题(“Rubrique”);
列.绑定(p=>p.VALEUR).宽度(100).标题(“VALEUR”);
columns.Bound(p=>p.LIBELLE).Width(300.Hidden();
columns.Bound(p=>p.RubriqueId).Width(100.Hidden();
columns.Bound(p=>p.GrilleId).Width(100.Hidden();
columns.Command(Command=>Command.Destroy().Text(“”).Width(60).Title(“Supprimer”).HtmlAttributes(新的{style=“Text align:center”});
columns.Command(Command=>Command.Edit().Text(“”).Width(60).Title(“修饰符”).HtmlAttributes(新的{style=“Text align:center”});
})
.Scrollable()
.可选(可选=>可选
.模式(GridSelectionMode.Single)
.Type(GridSelectionType.Row))
.Navigatable()
)
和我的GrillerBriquefixe控制器:
公共行动结果列表() { 尝试 {

List lstVM=serviceapplicf.GetListe().OrderBy(x=>x.RubriqueId.ToList();
//listRubrique下拉列表
IEnumerable listRubrique=RefDataManager.GetRefData()作为IEnumerable;
ViewData[“CodeRubrique”]=新的选择列表(listRubrique、“RubriqueId”、“CODELIBELLE”);
返回部分视图(lstVM);
}
捕获(例外情况除外)
{
LoggerGrilleRubriqueFixe.Error(string.Format(“异常:{0}”,ex.Message.ToString());
抛出新的异常(“收费错误”);
}
}
[HttpPost]
公共JsonResult读取([DataSourceRequest]DataSourceRequest dsRequest)
{ 尝试 { //listRubrique下拉列表

    List<GrilleRubriqueFixeVM> lstVM = ServiceApplicatif.GetListe().OrderBy(x => x.RubriqueId).ToList();

    //  Drop Down List des listRubrique

     IEnumerable<RubriqueVM> listRubrique = RefDataManager.GetRefData<RubriqueVM>() as IEnumerable<RubriqueVM>;

     ViewData["CodeRubrique"] = new SelectList(listRubrique, "RubriqueId", "CODELIBELLE");

     return PartialView(lstVM);
    }
   catch (Exception ex)
   {
        LoggerGrilleRubriqueFixe.Error(string.Format("Exception : {0}", ex.Message.ToString()));
        throw new Exception("Erreur lors du chargement.");
   }
}

[HttpPost]
public JsonResult Read([DataSourceRequest] DataSourceRequest dsRequest)
IEnumerable listRubrique=RefDataManager.GetRefData()作为IEnumerable;
if(listRubrique.Any())
{
ViewBag.idrub=listRubrique.First().RubriqueId;
}
ViewData[“Rubrique”]=新的选择列表(listRubrique、“RubriqueId”、“CODELIBELLE”);
List lstVM=serviceapplicf.GetListe().OrderBy(x=>x.GrilleId.ToList();
返回Json(lstVM.ToDataSourceResult(dsRequest));
}
捕获(例外情况除外)
{
LoggerGrilleRubriqueFixe.Error(string.Format(“异常:{0}”,ex.Message.ToString());
抛出新的异常(“收费错误”);
}
}
`不要试图通过这种方式传递model.children,而是传递您正在使用的模型的Id(我假设这是一个只读模型),并让控制器加载模型

tabstrip.Add()
   .Text("P11D")
   .LoadContentFrom("Dashboard_P11D", "Vehicle", 
            new { VehicleId =  ViewBag.VehicleId });
下面是我的示例,其中我有一个partialview,我将它加载到一个tabstrip中

      IEnumerable<RubriqueVM> listRubrique = RefDataManager.GetRefData<RubriqueVM>() as IEnumerable<RubriqueVM>;
      if (listRubrique.Any())
      {
          ViewBag.idrub = listRubrique.First().RubriqueId;
      }

      ViewData["Rubrique"] = new SelectList(listRubrique, "RubriqueId", "CODELIBELLE");
      List<GrilleRubriqueFixeVM> lstVM = ServiceApplicatif.GetListe().OrderBy(x => x.GrilleId).ToList();

      return Json(lstVM.ToDataSourceResult(dsRequest));
  }
  catch (Exception ex)
  {
      LoggerGrilleRubriqueFixe.Error(string.Format("Exception : {0}", ex.Message.ToString()));
      throw new Exception("Erreur lors du chargement.");
  }
然后我的控制器做了繁重的工作来得到模型

tabstrip.Add()
   .Text("P11D")
   .LoadContentFrom("Dashboard_P11D", "Vehicle", 
            new { VehicleId =  ViewBag.VehicleId });

我还举了一个例子,我只是展示了一个剑道网格,因此部分视图加载时顶部没有@model语句(我将需要获取的Id填入ViewBag),但是网格触发了一个Ajax方法来填充网格内容。

:我的GrillesLaire控制器必须具有GrillerBriqueFixe的Crud方法???你能一步一步地告诉我吗?我不知道该怎么办。如果该选项卡partialview需要该ViewModel,那么控制器方法只需要返回所需的模型数据。在我的示例中,我碰巧使用了一个repository类。在这里查看Kendo的示例。@richardb编辑我的问题,我已将第二个选项卡更改为:*.LoadContentFrom(“Liste”,“GrilleRubriqueFixe”);**但即使我的GrillerBriqueFixe列表没有显示:tabstrip是空的,我有一个错误:GET[HTTP/1.1 500内部服务器错误123Ms您需要在LoadContentFrom方法中传递一个id作为路由参数的一部分。然后控制器使用该id加载模型。请提供控制器方法。
tabstrip.Add()
   .Text("P11D")
   .LoadContentFrom("Dashboard_P11D", "Vehicle", 
            new { VehicleId =  ViewBag.VehicleId });
public PartialViewResult Dashboard_P11D(string vehicleId)
{
   VehicleP11DData p11d = this.vehicleP11DDataRepo.Read(this.UserProfile, vehicleId);
   return PartialView(p11d);
}