asp.net неявная совокупность полей ввода mvc

#asp.net-mvc

#asp.net-mvc

Вопрос:

В нашем asp.net в mvc я создал представление с двумя частичными представлениями внутри. Это представление принимает модель некоторого типа, например Customer. Первое частичное представление не имеет модели, потому что это форма поиска с пустым полем. Вторая форма — это форма с заполненными полями. Что я обнаружил, что при первом просмотре, если я вызвал поля ввода, подобные свойствам в модели, и если я не предоставляю для них значение, mvc неявно привязывает значения из модели к полям. Сначала я подумал, что это какая-то ошибка, но затем я немного доработал код:

-Я добавил собственный элемент ввода с идентификатором и именем, называемым так же, как model, поле ввода в браузере пустое — Если я попробую то же самое с Html.TextBox helper и не предоставлю значение, mvc получит это значение из моего объекта модели (по имени свойства / поля) и в браузере это поле будет заполнено.

Это ошибка или я делаю что-то не так?

Спасибо

Комментарии:

1. Не могли бы вы, пожалуйста, показать свой код? Я думаю, что это будет более явно.

Ответ №1:

Так задумано.

Я бы рекомендовал прочитать:

и последнее, но не менее важное:

особенно mix10 содержит множество сессий о mvc
все они хороши для чтения и просмотра (-:

Комментарии:

1. хм, я прочитал достаточное количество статей и видео, но я не сталкивался с этим конкретным problem…so вы рекомендуете сначала прочитать и просмотреть все это, а затем выполнить asp.net mvc? 🙂 🙂

2. ну и Html. Помощники — это базовый материал для рендеринга модели. Я подумал, что если вы это пропустили, возможно, сейчас самое время подвести итог.

3. извините, я хотел отметить ваш ответ, но вы добавили в него немного цинизма .. 😉 вот так, я даю вам один голос «за»

Ответ №2:

Так задумано. Если вы отправляете модель в представление и используете вспомогательные средства ввода HTML, которые поставляются с ASP.NET MVC, они будут неявно заполняться из модели.

Это полезно во многих ситуациях. Если вы не хотите такого поведения, вы всегда можете НЕ использовать помощники или написать свои собственные простые помощники.