MVC3 应用程序中的模型绑定将 null 传递给 Mono 下的操作参数

发布于 2024-11-01 20:36:32 字数 445 浏览 0 评论 0原文

在 Mono 2.10.1 下运行时,发布到的简单控制器操作(采用视图表单使用的模型)不会绑定到表单字段。在 MS.NET 下,相同的代码按预期执行,模型中填充了相应的表单值。

控制器操作定义为:

[HttpPost]
public ActionResult Login(LoginModel login, string returnUrl)
{

当在 Mono 上提交表单时,第一个参数 login 为 null,并在 MS.NET 下完全填充登录表单字段。

表单字段可以通过 Mono 下的 Request.Form 集合(即 Request.Form["UserName"])访问,因此它似乎只是一个绑定。工作。

这曾经是一个 MVC2 应用程序 - 有人经历过类似的事情吗?

A simple controller action that is posted to which takes a model used by the view's form isn't being bound to the form fields when running under Mono 2.10.1. Under MS.NET the same code executes as expected with the model populated with the corresponding form values.

The controller action is defined as:

[HttpPost]
public ActionResult Login(LoginModel login, string returnUrl)
{

The first parameter login is null when the form is submitted on Mono, and fully populated with the login form fields under MS.NET.

The form fields are accessible via the Request.Form collection (ie Request.Form["UserName"]) under Mono, so it seems to just be the binding that isn't working.

This used to be an MVC2 app - anyone experienced something similar?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

月依秋水 2024-11-08 20:36:32

我追踪到了一个自定义数据注释模型验证提供程序,我们注册该提供程序来处理我们自己的本地化错误消息的方式,例如模型属性上的“必需”和“显示名称”。

注释掉以下行:

DataAnnotationsModelValidatorProvider.RegisterAdapter(typeof(LocalizedRequiredAttribute), typeof(RequiredAttributeAdapter));

来自全球的 asax 修复了这个问题,并且自定义模型验证器仍然有效 - 看起来这是 MVC2 时代的一个遗留问题。

I tracked this down to a custom data annotations model validation provider that we register to handle our own way of localizing error messages such as Required and Display Name on model properties.

Commenting out the following line:

DataAnnotationsModelValidatorProvider.RegisterAdapter(typeof(LocalizedRequiredAttribute), typeof(RequiredAttributeAdapter));

From global asax fixes the issue, and the custom model validator still works - looks like it was a hang over from MVC2 days.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文