当前位置: 首页 > 知识库问答 >
问题:

剑道MVC网格依赖下拉列表

宰父焕
2023-03-14

我有剑道网格,我需要在两个单元格中内联编辑两个下拉列表。第二个列表依赖于第一个列表。第二个可以有0个或X个项目。当秒为0时,如何在保存项目时向服务器发送空值?

网格如下所示:

columns.Bound(work => work.Project).ClientTemplate("#=Project.Name#").Width(350); // 1 DropDownList
columns.Bound(work => work.Spp).ClientTemplate("#=Spp.Code#").Width(100);
columns.Bound(work => work.Operation).ClientTemplate("#=Operation.Code#").Width(100);// 2 DropDownList

.DataSource(dataSource => dataSource
                            .Ajax()
                            .Batch(false)
                            .Events(events => events.RequestEnd("OnRequestEnd_TopLinePriceGrid"))
                            .PageSize(20)
                            //.Events(events => events.Error("error_handler"))
                            .Model(model =>
                            {
                                model.Id(p => p.Id);
                                model.Field(p => p.Operation).DefaultValue(ViewData["defaultOperation"] as TT.ViewModel.OperationViewModel);
                                model.Field(p => p.Spp).DefaultValue(ViewData["defaultSpp"] as TT.ViewModel.SppViewModel);
                                model.Field(p => p.Project).DefaultValue(ViewData["defaultProject"] as TT.ViewModel.ProjectViewModel);
                            })
                            .Read(read => read.Action("WorkRead", "Home").Data("currentWeekInfo")) // Přidádo HTTP parametr s vybranným týdnem
                            .Create(update => update.Action("EditingInline_Create", "Home").Data("currentWeekInfo"))
                            .Update(update => update.Action("EditingInline_Update", "Home").Data("currentWeekInfo"))
                            .Destroy(update => update.Action("EditingInline_Destroy", "Home").Data("currentWeekInfo"))
                           )

操作编辑器模板:

@(Html.Kendo().DropDownList()
        .Name("Operation")
        .OptionLabel("Choose operation...")
        .CascadeFrom("Project")
        .DataValueField("Id")
        .DataTextField("Code")
                          .DataSource(source =>
                          {
                              source.Read(read =>
                              {
                                  read.Action("GetCascadeOperations", "Home")
                                        .Data("filterOperations");
                              }).ServerFiltering(true); ;
                          })
                          .Enable(false)
                          .AutoBind(false)
)

当我单击“保存”时,我在请求中始终具有操作的默认值。谢谢你的帮助!

共有1个答案

缪阎宝
2023-03-14

要向服务器发送空值,模型中相应的字段(操作)应该是可为空的类型。此外,DropDownList应该定义OptionLabel,并将(如果是原始类型)ValuePrimitive选项设置为true。

 类似资料:
  • 我想把剑道下拉列表加入我的表格。一切都会好的,除了一件事。当我想用默认的剑道创建工具栏“添加记录”时,我不能绑定从dropdownlist数据源获取的第一个值。 数据源工作正常。DropDownlist也很好用。如果我手动从dropDownlist中选择任何东西,一切正常。 我也试过了。除了“索引”之外,我试图手动从数据源中选择第一项。从视觉上看,它工作得很好。即使选择了第三项,但当我单击“更新”

  • 在我的剑道网格中,我为每一列都有kenddropDownlist。选定的项目应解析并显示模板文本 我一直在遵循这个例子http://jsfiddle.net/jddevight/Ms3nn/ 使现代化 我在这里简化了我的问题http://jsfiddle.net/BlowMan/mf434/ 问题 当我在下拉列表中选择一个项目时,它不会返回所选项目的值。它返回null。 }); 下面的视图部分 任

  • 我有一张有多个剑道下拉列表的表格。。 有了选项标签,它显示了空白选择,但是当您打开DROPPDROW列表时,它会出现任何选择“空白区”的选项。在选择了一些下拉列表的值后,我无法返回。 我知道如果我在下拉列表中放入一些文本,选项标签就会出现在下拉列表中(css与其他文本不同)。但我想保留空白。 其他解决方案是在服务器端的第一个位置添加一个记录,但我想知道是否有人有不同的解决方案。谢啦

  • 我见过其他类似的问题,但似乎到目前为止我做的一切都是对的,没有任何效果。正如标题所述,对于我的一个专栏,我试图使用dropdownlist作为弹出窗口中的字段。 指数cshtml: 然后在/Views/Shared/EditorTemplates DeptDropdown的内部。cshtml: 然后是版本\实用程序\模型的内部。反恐精英:

  • 我在五月有一个剑道MVC下拉列表。我正在成功地将所选值从中保存到数据库中。当我来编辑数据时,该值从模型中正确返回并在下拉树中设置,但是,在下拉树中没有任何项目被视觉上选中。 当我尝试从单击按钮读取下拉树的值时,它正确地返回该值。 上面的javascript警报正确返回该值,但在DropdownTree中没有显示选定的项目。我还尝试删除ValuePrimitive属性,但没有任何效果。 有人能帮我找

  • 我正在做一个非常依赖KendoUI的项目。 业务需求要求我使用KendoUI表单元素与MVC验证。 这对于标准文本框元素很好,但是当我被要求使用Kendo DropDownList widges时,我遇到了MVC验证显示的问题。 我的剑道DDL: 生成的输出: 如果仔细查看从KendoUI生成的隐藏输入,可以看到MVC验证正在向其中添加验证错误,而不是下拉列表。 输入验证错误" 验证工作正常,但是