我问了一个类似的问题here。这是我的模特:
[DisplayName("National Code")]
[Required(ErrorMessage = "Required")]
[RegularExpression(CustomRegex.SSNRX, ErrorMessage = CustomRegex.SSNErMsg)]
[Remote("DBValidateSSN", "CustomerProfile", "Members", ErrorMessage = "Repeated.")]
public string SSN { get; set; }
所以我使用Generic Class作为模型而My View就像:
@Html.EditorFor(model => model.MainModel.SSN)
@Html.ValidationMessageFor(model => model.MainModel.SSN)
验证行动:
public JsonResult DBValidateSSN([Bind(Prefix = "MainModel")] string SSN) {
// ....
return Json(result, JsonRequestBehavior.AllowGet);
}
但是行动中的SSN参数总是为空,我的错在哪里?问题是我还检查了FireBug中的Ajax请求参数,使用的名称是MainModel.SSN
,你的建议是什么?
答案 0 :(得分:1)
试试这样:
public ActionResult DBValidateSSN([Bind(Prefix = "MainModel.SSN")] string SSN)
{
// ...
return Json(result, JsonRequestBehavior.AllowGet);
}