Я использую MVC 2 и EF4. У меня есть представление, которое отображает свойства моего приложения (класса). Не все свойства отображаются в представлении. Есть пара свойств, которые необходимо установить после нажатия кнопки отправки.
Я получаю подтверждение клиента, но проверка на моем сервере все еще не проходит. В моем действии CreateApplication
я получаю объект Application
, обновляю свойство и проверяю ModelState.IsValid
. Это все еще ложь. Я сделал цикл по списку ошибок, и он отображает текст ошибки, который я установил в свойстве SubmitterEmployeeNumber
, используя аннотацию Обязательные данные. Я установил его и обновил свою модель, но проверка все еще не проходит. Вот мой код:
[HttpPost]
public ActionResult CreateApplication(Application application)
{
application.SubmitterEmployeeNumber = "123456";
TryUpdateModel(application);
if (ModelState.IsValid)
{
}
}
Вот как я отображаю вид:
public ActionResult CreateApplication()
{
var viewModel = new ApplicationViewModel(new Application(), db.AccountTypes);
return View(viewModel);
}
Как мне пройти проверку после установки свойства после привязки?
В чем разница между UpdateModel
и TryUpdateModel
и когда мне нужно использовать каждый из них?
EDIT:
Я изменил название действия на:
[HttpPost]
public ActionResult CreateApp()
{
var application = new Application
{
ApplicationStateID = 1,
SubmitterEmployeeNumber = "123456"
};
if (TryUpdateModel(application))
{
int success = 0;
}
}
Вот мой взгляд:
<% using (Html.BeginForm("CreateApp", "Application")) {%>
TryUpdateModel
все еще проверяется как ложное. Я вставил int success = 0;
, просто чтобы посмотреть, войдет ли он в него, но это не так.