Я пытаюсь выполнить удаленную проверку свойства элемента в коллекции. Проверка работает нормально для первого элемента коллекции. HTTP-запрос к методу проверки выглядит следующим образом:
/Validation/IsImeiAvailable?ImeiGadgets[0].ImeiNumber=123456789012345
Однако во втором элементе, где URL-адрес выглядит так, как показано ниже, проверка не работает
/Validation/IsImeiAvailable?ImeiGadgets[1].ImeiNumber=123456789012345
Теперь я почти уверен, что причина этого в том, что привязка не работает. в коллекции, которая не начинается с нулевого индекса.
Мой метод проверки имеет сигнатуру, как показано ниже:
public JsonResult IsImeiAvailable([Bind(Prefix = "ImeiGadgets")] Models.ViewModels.ImeiGadget[] imeiGadget)
Поскольку я передаю элемент в коллекции, я должен выполнить привязку таким образом, но на самом деле я передаю только одно значение.
Могу ли я каким-либо образом справиться с этим, кроме как просто привязать его как простую старую строку запроса.
Спасибо
Изменить: это быстрое решение для получения переменной Imei, но я бы предпочел использовать привязку модели:
string imeiNumber = Request.Url.AbsoluteUri.Substring(Request.Url.AbsoluteUri.IndexOf("=")+1);
Изменить: вот мой класс ImeiGadget:
public class ImeiGadget
{
public int Id { get; set; }
[Remote("IsImeiAvailable", "Validation")]
[Required(ErrorMessage = "Please provide the IMEI Number for your Phone")]
[RegularExpression(@"(\D*\d){15,17}", ErrorMessage = "An IMEI number must contain between 15 & 17 digits")]
public string ImeiNumber { get; set; }
public string Make { get; set; }
public string Model { get; set; }
}