Asp.net MVC 2: Понимание CRUD, конкретно действия Create (есть 2)? - PullRequest
0 голосов
/ 22 июля 2010

Может кто-нибудь сказать, помогите мне понять новые строительные леса CRUD, которые включены в MVC 2?

Позвольте мне объяснить, например, ниже у вас есть 2 Создать действия ...

Теперь я полагаю, что если у меня есть форма "Отправить себе", то выполняется вторая с атрибутом POST - ЭТО ПРАВИЛЬНО? таким образом, форма в представлении, что когда Submitted подчиняется себе ??, но когда будет вызываться стандартный Create, т. е. 1, в начале которого есть комментарий // GET.

Я понимаю, что действием по умолчанию является Индекс, поэтому оно обычно вызывается, когда отображается моя страница, но я не могу найти информацию о действии Создать. Я полагаю, это волшебное слово, поэтому его нужно называть Create ???

    // GET: /Customer/Create

    public ActionResult Create()
    {
        return View();
    } 

    //
    // POST: /Customer/Create

    [AcceptVerbs(HttpVerbs.Post)]
    public ActionResult Create(FormCollection collection)
    {
        try
        {
            // TODO: Add insert logic here

            return RedirectToAction("Index");
        }
        catch
        {
            return View();
        }
    }

Ответы [ 2 ]

3 голосов
/ 22 июля 2010

Create() (без атрибутов) вызывается при первой загрузке страницы. то есть. Пустая форма отображается пользователю

Create(FormCollection) (атрибут AcceptVerbs) вызывается при отправке формы с данными.

Оба могут использовать один и тот же ASPX в качестве представления.

1 голос
/ 22 июля 2010

В названии «Создать» нет ничего волшебного.Любая обычная ссылка на действие создания (скажем, созданная с помощью вызова Url.Action("Create")) приведет к запросу страницы к версии без POST (GET).Форма в GET-версии страницы с методом = "POST" приведет к вызову POST-версии.Вы можете использовать этот же шаблон для действий с другими именами.

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