我使用我的视图模型远程验证属性来验证这是对我公司指定的银行账户远程验证动作:我可以重用在MVC3
视图模型:
[Remote("CheckDefaultBank", "Company")]
public string DefaultBank
{
这控制器我有:
[HttpGet]
public JsonResult CheckDefaultBank(string defaultBank)
{
bool result = BankExists(defaultBank);
return Json(result, JsonRequestBehavior.AllowGet);
}
这一切都很好。但是,我还有另外两家银行与我的公司有关。但是,当远程验证js调用动作时,它使用一个参数来控制“DefaultBank”的字段名称......所以我将其用作我的动作中的一个参数。
是否有一些属性,我可以在视图中添加,以便它会使用ajax get说的“bankId”的参数,所以我不需要为每个字段基本上完全相同的操作?
这里的目标现在是消除不必有这个在我的控制器:
[HttpGet]
public JsonResult CheckRefundBank(string refundBank)
{
bool result = BankExists(defaultBank);
return Json(result, JsonRequestBehavior.AllowGet);
}
[HttpGet]
public JsonResult CheckPayrollBank(string payrollBank)
{
bool result = BankExists(defaultBank);
return Json(result, JsonRequestBehavior.AllowGet);
}
我希望我可以在视图中做这样的事情:
@Html.EditorFor(model => model.DefaultBank, new { data-validate-parameter: bankId })
这样我可以只需使用相同的动作为所有银行条目,如:
[HttpGet]
public JsonResult CheckValidBank(string bankId)
{
bool result = BankExists(bankId);
return Json(result, JsonRequestBehavior.AllowGet);
}
可能吗?
好简单的想法。我包含了多个参数,只是使用空合并运算符来获取非空合并值。 – PilotBob