[英]Strange error: No parameterless constructor defined for this object
我知道这个问题已经被问过很多次了,但是我无法解决我的问题,这很有趣。
我的模型很简单:
public class RegisterModel
{
[Display(Name = "First name")]
[Required]
public string FirstName { get; set; }
[Display(Name = "Last name")]
[Required]
public string LastName { get; set; }
[Display(Name = "Email address")]
[RegularExpression(@"^([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$", ErrorMessage = "Enter valid e-mail")]
[Required(ErrorMessage = "E-mail is empty")]
public string EmailAddress { get; set; }
public System.Web.Mvc.SelectList Countries { get; set; }
}
行动:
[AllowAnonymous]
public virtual ActionResult Register(RegisterModel data)
{
if (!HttpContext.User.Identity.IsAuthenticated)
{
ModelState.Clear();
var countries =
this.ClientRepositoryBuilder
.CountryClientRepository
.GetAllCountries();
data.Countries = new SelectList(countries, "Id", "CountryName");
return
this.View(data);
}
else
{
return
this.RedirectToAction(MVC.Home.Index());
}
}
一旦将“国家/地区”添加到模型中,东西就会停止工作,并且不会调用POST操作,请给我一个萤火虫错误(这是ajax帖子):
没有为此对象定义无参数构造函数
尝试将请求中的信息转换为RegisterModel
时,默认模型绑定无法处理该对象。
选项:
如果您想要接受列表作为请求参数之类的内容- 到列表的模型绑定MVC 4可能会有答案。
好的,我在类型上犯了一个错误,甚至都不知道我是怎么做的。
[Required]
public int Countries { get; set; }
这是我的疲倦所致的一个错误;)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.