Kendo ui 剑道网格弹出编辑器-Razor ForEach-列表为空

Kendo ui 剑道网格弹出编辑器-Razor ForEach-列表为空,kendo-ui,kendo-grid,kendo-asp.net-mvc,Kendo Ui,Kendo Grid,Kendo Asp.net Mvc,注册模型样本 public int Status {get; set;} public string Batteries {get; set;} public List<Batteries> BatteriesList {get; set;} 来自弹出编辑器模板的示例 <h2>Batteries</h2> @{ if(Model.BatteriesList != null) { <ul>

注册模型样本

public int Status      {get; set;}
public string Batteries    {get; set;}   
public List<Batteries> BatteriesList     {get; set;}
来自弹出编辑器模板的示例

<h2>Batteries</h2>
@{
   if(Model.BatteriesList != null)
   {
    <ul>
        @foreach(var x in Model.BatteriesList)
        {
        <li>x.Selection</li>
        }
    </ul>
   }
}
电池
@{
如果(Model.BatteriesList!=null)
{
    @foreach(Model.BatteriesList中的var x) {
  • x、 挑选
  • }
} }
  • 当弹出窗口呈现在屏幕上时,Model.BatteriesList始终为空
  • 我知道电池名单上有很多数据。“我的编辑器”模板中的其他字段(状态、电池)在弹出窗口中显示数据 注意:创建网格时,使用默认模型值仅初始化弹出编辑器一次。这就是当前行为的原因-列表的默认值为null。编辑器模板本身通过MVVM绑定,这就是为什么当为每个网格项打开弹出窗口时,它们会显示正确的模型值


    但是要解决什么问题呢?

    您的代码缩短得太多了。很难理解什么是什么,比如你的
    EditRegistration
    ?我是说,我知道这是剃须刀密码,但它在哪里?你是如何在上面使用这个模型的?在这种情况下,它可能是一个空模型,这就是为什么会得到一个空列表。您是否将任何模型传递到模板中?对于主/详细情况,我所做的是嵌入另一个剑道控件,如列表框或网格,并通过ajax调用填充它(数据源>读取>(“GetBatters”,“Controller”,new{id=parentId})。或者您可以执行一些操作,例如获取父id。
    <h2>Batteries</h2>
    @{
       if(Model.BatteriesList != null)
       {
        <ul>
            @foreach(var x in Model.BatteriesList)
            {
            <li>x.Selection</li>
            }
        </ul>
       }
    }