ASP.NET ViewModel Альтернатива - PullRequest
2 голосов
/ 14 февраля 2010

В Django / Python, если бы у меня была следующая модель

class Model1:
     id = char field
     name = char field
     creation_time = datetime field

Я могу создать форму (просмотреть модель), как показано ниже

class Model1Form(Model1):
    exclude = {'id', 'creation_time'}

Затем я передаю его в представление / шаблон, и оно игнорирует id / creation_time

В этом случае проверка не будет выполняться для идентификатора и времени создания. Я установил бы их позже в своем коде и сохранил бы его.

Есть ли какой-нибудь способ в ASP.NET MVC (с использованием аннотаций данных или чего-либо еще) исключить подобное поле (без использования отдельной модели представления)? Я использую ADO.NET Entities.

1 Ответ

3 голосов
/ 14 февраля 2010
[AcceptVerbs(HttpVerbs.Post)]   
public ActionResult Create([Bind(Exclude="Id")]Product productToCreate)  // <--- 
{   
    if (!ModelState.IsValid)   
        return View();   

    try  
    {   
        _dataModel.AddToProductSet(productToCreate);   
        _dataModel.SaveChanges();   

        return RedirectToAction("Index");   
    }   
    catch  
    {   
        return View();   
    }   
}  
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...