Я довольно новичок в ASP.NET MVC, и у меня возникла проблема с Html.TextBoxFor () - он дает атрибуту name визуализированного ввода точку.
<%= Html.TextBoxFor(m => m.Box.Name, new { id= "txtName" }) %>
отображает следующий HTML-код:
<input type="text" value="" name="Box.Name" id="txtName">
Я использую плагин проверки jQuery для проверки на стороне клиента.Он не может проверить этот ввод из-за точки в Box.Name (вызывает ошибку javascript).
Моя модель выглядит следующим образом:
public class Box {
[Required(ErrorMessage = "Please enter a name")]
public string Name { get; set; }
public int BoxMaterialID { get; set; }
}
МойViewModel выглядит следующим образом:
public class BoxViewModel
{
public Box Box { get; set; }
public List<BoxMaterial> BoxMaterial { get; set;}
}
Мой контроллер выглядит следующим образом:
public ActionResult New(FormCollection postData)
{
Box box = new Box();
try
{
UpdateModel(box, "Box");
boxService.SaveBox(box);
}
catch
{
return View(new BoxViewModel(box));
}
return RedirectToAction("Index", "Boxes");
}
Проверка на стороне сервера работает подобно очарованию с использованием DataAnnotations на модели.Кажется, единственная проблема, с которой я сталкиваюсь, связана с проверкой на стороне клиента из-за "."в атрибуте имени.
Спасибо за помощь!