Данные транспортной модели из представлений в контроллер

#c# #asp.net #asp.net-mvc-3 #model

#c# #asp.net #asp.net-mvc-3 #Модель

Вопрос:

В проекте Mvc3 у меня есть класс модели, который имеет имя поля insertDate. Я не хочу никакого контроля над представлением для этого поля.

Когда данные сохраняются, они отображаются как null, и я устанавливаю их как DateTime.Теперь на стороне контроллера.

проблема в том, что: в представлении обновления это значение для меня равно нулю. Я хочу, чтобы для этого поля было установлено значение по умолчанию в представлении обновления.

У кого-нибудь есть идея по этому поводу?

Ответ №1:

Используйте отдельную модель представления для каждого представления. Ваше представление обновления просто исключает это поле и устанавливает его на обновление вашей модели, которая будет отправлена в базу данных. Используйте бесплатный инструмент automapper для копирования полей между этими моделями.

Ответ №2:

Используйте скрытое поле для хранения этих данных, а затем оно вернется к вам.

 @Html.HiddenFor(x => x.InsertDate)
  

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

1. На самом деле я ищу другой способ. но из-за того, что я получил отрицательный голос, я приму этот ответ и убегу. такое поведение демотивирует пользователей. спасибо за ваш ответ.

2. Что именно вы ищете? По запросу GET вы извлекаете модель из базы данных и помещаете все данные в html-элементы. При обновлении вы отправите форму и соберете данные из формы. Итак, у вас есть 2 варианта: 1-й — получить данные из базы данных и обновить поля, 2-й — использовать какой-нибудь html-элемент, чтобы доставить его вам в сообщении.

3. Теперь я уже использую 2-й способ. Но я думаю, что: может быть, у меня много полей, которые я не знаю, какие они должны отображаться в пользовательском интерфейсе. Тогда я должен искать другой способ. Но я думаю, вы написали все два способа. тогда нет проблем, я буду использовать один из них.