Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/331.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# 剑道ComboxFor在post请求时不绑定_C#_Asp.net Mvc_Kendo Ui - Fatal编程技术网

C# 剑道ComboxFor在post请求时不绑定

C# 剑道ComboxFor在post请求时不绑定,c#,asp.net-mvc,kendo-ui,C#,Asp.net Mvc,Kendo Ui,我有这个剑道ComboxFor,当我发送一个post请求时,它没有绑定,它发送的值为null 这是视图模型 public class FormViewModel { public int Id { get; set; } public int ModuleId { get; set; } [Display(Name = "Form Name")] public string FormName { get; set; } [Display(Name =

我有这个剑道ComboxFor,当我发送一个post请求时,它没有绑定,它发送的值为null

这是视图模型

public class FormViewModel
{
    public int Id { get; set; }
    public int ModuleId { get; set; }

    [Display(Name = "Form Name")]
    public string FormName { get; set; }

    [Display(Name = "Module")]
    public List<ModuleList> ModuleLists { get; set; } 

}

public class ModuleList
{
    public int? ModuleId;
    public string ModuleName;
}
这是我的Kandocomboxfor:

 @(Html.Kendo().ComboBoxFor(model => model.ModuleLists)
                  .DataTextField("ModuleName")
                  .DataValueField("Id")
                  .DataSource(d => d.Read(r => r.Action("GetModuleList", "PmsModule")))
                  .Placeholder("Select Module...")
                  .Suggest(true)
                  .HighlightFirst(true)
                )
                @Html.ValidationMessageFor(model => model.Id)
该模型不进行验证,在调试时,我发现了,即使我在post上的下拉列表中选择了值,我也会收到空值

编辑

我甚至尝试过放下剑道,但即使这样也不行

        @(Html.Kendo().DropDownListFor(model => model.Id)
                          .DataTextField("ModuleName")
                          .DataValueField("Id")
                          .BindTo(Model.ModuleLists)
                )

ModuleList
的模型只包含字段,不包含属性。将其更改为添加getter/setter的

public class ModuleList
{
    public int? ModuleId { get; set; }
    public string ModuleName { get; set; }
}

try
语句中的代码需要在自己的块中吗?@AustinWBryan我很抱歉没有得到您的点您不能绑定到复杂对象或复杂对象的集合(
moduleList
)绑定到的属性需要是
string
@StephenMuecke我已经尝试过了,甚至我使用过model=>model.Id,但是在这种情况下,combobox并没有显示任何东西,同样的事情发生了,这表明
.DataSource(d=>d.Read(r=>r.Action(“GetModuleList”,“PmsModule”))
建议您只需硬编码一些测试值-
数据源:{data:[{id:1,ModuleName:“One”},{id:2,ModuleName:“Two”}
(您的模型建议您应该绑定到
ModuleId
,而不是
Id
public class ModuleList
{
    public int? ModuleId { get; set; }
    public string ModuleName { get; set; }
}