我有一个在MVC 4框架中使用不显眼的验证验证的表单。我在View模型中的一个字段上有一个远程注释,似乎不会提交表单。这向我表明某些事情不太正常。我似乎无法弄清楚它是什么?
[Remote("ValidateHosFin", "EditEncounter", AdditionalFields = "HostpitalFinNumber, IsFlagSet", ErrorMessage = "Got Damn this is complex!")]
[MinLength(6,ErrorMessage="The Hospital Fin must have 6 numerals")]
public string HostpitalFinNumber { get; set; }
它应该调用这个方法......它永远不会被调用,因为我设置的断点永远不会被击中......
[HttpPost]
[OutputCache(Location = OutputCacheLocation.None, NoStore = true)]
public ActionResult ValidateHosFin(string hospitalFin, string encflag) {
return Json(DataRepository.ValidateHosFin(encflag, hospitalFin), JsonRequestBehavior.AllowGet);
}
这当然是public class EditEncounterController : Controller{ //... }
我立即想到的一件事是我的输入值不正确......但它们看起来很好。
答案 0 :(得分:2)
尝试从您的AdditionalFields参数中取出HospitalFinNumber。这已经是Remote属性的主题,因此将自动发送。你导致它被发送两次,这意味着它正在寻找一个有三个参数的方法。
另一件事...... MVC4绑定匹配字段名称...你发送附加字段“IsFlagSet”,但你的方法是寻找字段“encflag”...这些不会链接起来远程通话。