ASP.NET MVC (2) Проверка аннотации данных и UpdateModel <T>(C #) - PullRequest
1 голос
/ 13 октября 2010

Итак, если я хочу добавить новый объект в свою базу данных, я могу написать это:

public ActionResult Something(SomeObject Object) {
    if (ModelState.IsValid()) {
        DataContext.SomeObjects.InsertOnSubmit(Object);
        DataContext.SubmitChanges();
    };
}

Но как вызывается проверка, когда я хочу обновить объект?UpdateModel<T> автоматически выполняет проверку или я должен что-то сделать, чтобы сказать это, или я должен сделать что-то перед вызовом UpdateModel<t>?

РЕДАКТИРОВАТЬ:

Для @SLaks, я делаю что-то вроде этого:

UpdateModel<SomeObject>(Object);

if (ModelState.IsValid()) {
    DataContext.SubmitChanges();
};

Или, если я это убью, пожалуйста, покажи мне правильный путь.

Ответы [ 2 ]

1 голос
/ 13 октября 2010

Ваш первоначальный вопрос казался "как вызывается проверка?".

Проверка вызывается для объекта, если он реализует интерфейс IDataErrorInfo. IDataErrorInfo реализован в связывателе моделей - это происходит непосредственно перед передачей выполнения вашему действию.

Итак, ответьте коротко: вам не нужно указывать, что вы что-то делаете, если вы используете DataAnnotations. Проверка происходит автоматически, прежде чем вы получите код действия. Вот почему ModelState.IsValid() возвращает значение - потому что проверка завершена.

1 голос
/ 13 октября 2010

Вы должны проверить ModelState.IsValid() еще раз.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...