Проблема в том, что когда я размещаю 2 элемента управления одного типа на странице, мне нужно указать разные префиксы для привязки. В этом случае правила проверки, сгенерированные сразу после формы, являются неверными. Итак, как заставить клиента проверить работу для случая?
страница содержит:
<%
Html.RenderPartial(ViewLocations.Shared.PhoneEditPartial, new PhoneViewModel { Phone = person.PhonePhone, Prefix = "PhonePhone" });
Html.RenderPartial(ViewLocations.Shared.PhoneEditPartial, new PhoneViewModel { Phone = person.FaxPhone, Prefix = "FaxPhone" });
%>
элемент управления ViewUserControl :
<%= Html.TextBox(Model.GetPrefixed("CountryCode"), Model.Phone.CountryCode) %>
<%= Html.ValidationMessage("Phone.CountryCode", new { id = Model.GetPrefixed("CountryCode"), name = Model.GetPrefixed("CountryCode") })%>
, где Model.GetPrefixed("CountryCode")
просто возвращает «FaxPhone.CountryCode» или «PhonePhone.CountryCode» в зависимости от префикса
А вот и правила проверки, сформированные после формы. Они дублируются для имени поля «Phone.CountryCode». В то время как желаемый результат - 2 правила (обязательно, номер) для каждого из FieldNames «FaxPhone.CountryCode», «PhonePhone.CountryCode»
альтернативный текст http://www.freeimagehosting.net/uploads/37fbe720bf.png
Вопрос несколько дублирует Проверка клиентской стороны Asp.Net MVC2 и проблема с дублирующимся идентификатором
но совет по созданию идентификаторов вручную не помогает.