Я использую атрибут удаленной проверки в моей модели представления для проверки банковского счета, указанного для моей компании:
ViewModel:
[Remote("CheckDefaultBank", "Company")]
public string DefaultBank
{
Это в контроллере у меня:
[HttpGet]
public JsonResult CheckDefaultBank(string defaultBank)
{
bool result = BankExists(defaultBank);
return Json(result, JsonRequestBehavior.AllowGet);
}
Это все работает хорошо. Но у меня есть еще два банка, связанных с моей компанией. Однако, когда удаленная проверка js вызывает действие, он использует параметр, сопоставляющий имя поля «DefaultBank» ... поэтому я использую это в качестве параметра в своем действии.
Есть ли какой-нибудь атрибут, который я могу добавить в представление, чтобы оно использовало параметр скажем "bankId" в get ajax, поэтому мне не нужно действие для каждого поля, которое в основном точно такое же?
Целью здесь является устранение необходимости иметь это в моем контроллере:
[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);
}
возможно?