asp.net-mvc - 如果 kendo ui grid 创建操作的参数名为 "model",则模型绑定(bind)到操作始终为 null

标签 asp.net-mvc kendo-ui

我有一个操作,其中请求是从 kendo ui 网格的 Create 事件生成的。所有信息均已正确发布,并且模型绑定(bind)器在操作参数名称为“model”的任何情况下都能正常工作

如果操作定义如下:

[HttpPost]
public ActionResult Create(ModelType post)
{                                                                                                    
}

一切正常。

如果相反,操作如下所示:

[HttpPost]
public ActionResult Create(ModelType model) //changed parameter Name to model
{                                                                                                    
}

我收到无效的模型状态和此消息:

System.Web.Mvc.ModelError

The parameter conversion from type 'System.String' to type 'MyApp.Common.Models.ModelType' failed because no type converter can convert between these types."

这似乎只影响来自 Kendo UI 网格的操作,无论操作参数的名称如何,正常的 MVC 操作帖子都会起作用。

我能够使用小型测试模型创建一个新项目并重新创建此行为。

有人能解释一下这里发生的事情吗?

最佳答案

当前的“ModelType”很可能包含名称为“Model”的属性,并且默认 MVC ModelBinder 尝试将“Model”属性绑定(bind)到模型变量。您应该将操作参数中的变量名称更改为当前模型中不包含的变量名称。

关于asp.net-mvc - 如果 kendo ui grid 创建操作的参数名为 "model",则模型绑定(bind)到操作始终为 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15549495/

相关文章:

asp.net-mvc-4 - kendo上传异步,如何使用javascript提交?

asp.net - 我无法使用 "host.docker.internal:some-port"将我的 ASP .NET 应用程序从 Docker 容器连接到我的计算机主机数据库

jquery - 将选择器样式作为脉冲动画应用于元素

asp.net - 如何在 ASP.NET MVC 中测试自定义模型绑定(bind)器?

c# - 将 asp.net Mvc 从 3 降级到 2

javascript - Javascript 函数中的转义引号

javascript - 页面加载时如何聚焦于输入框?

kendo-ui - 取消内联 Kendo 网格中的更新删除行

c# - 如何发送对象列表作为对 ajax 请求的响应

c# - 如何制作 1 :many relationship between models with different query ( linq syntax )