asp.net проверка на стороне клиента MVC для имени свойства дела верблюда - PullRequest
0 голосов
/ 08 сентября 2010

Я использую проверенную клиентскую проверку MS в asp.net mvc 2. У рассматриваемой модели есть одно свойство с именем «FirstName».Наш разработчик на стороне клиента действительно хотел бы иметь case-case в id элементов, поэтому вместо использования обычного html-помощника Html.TextBoxFor(m => m.FirstName) мы выписали html-представление ввода, например: <input type="text" id="firstName" name="firstName" />.Связыватель модели может правильно связываться и получать правильное значение (я думаю, это не чувствительно к регистру, и это хорошо).Однако, когда мы включаем оценку на стороне клиента и выдаем Html.ValidateFor(m => m.FirstName) в конце, он все равно генерирует Pascal-регистр в формате свойства (что ожидается).

Я смотрю в исходный код mvc 2обнаруживает, что ValidateFor() вызывает ModelMetadata.FromLambdaExpression(expression, htmlHelper.ViewData), который, в свою очередь, использует MemberExpression, чтобы получить имя свойства (это случай Паскаля).Мне интересно, есть ли способ обойти это?Конечная цель состоит в том, чтобы иметь идентификатор верблюжьего ящика, являющийся элементами HTML, и при этом все еще должны выполняться проверки на стороне клиента и на сервере.

Любая помощь приветствуется.

1 Ответ

0 голосов
/ 08 сентября 2010

Мои $ 0,02: выберите корпус и настройте модель вида на странице. И C #, и JS чувствительны к регистру, и попытка смешать случаи не будет хорошо закончена. Одному из вас придется изменить дело. Возможно, вы могли бы обойти эту конкретную проблему, но это не будет концом ваших проблем.

...