2011-01-17 3 views
-2

Я пытаюсь изучить asp.net mvc. Я работал с большинством образцов, опубликованных MS.asp.net mvc Controller - логика просмотра

Большинство образцов - это всего лишь CRUD.

Я довольно хорошо работаю с веб-формами, но теперь я как бы промахиваюсь старым легким миром.

Но, мой вопрос: у меня есть подробная страница, связанная с заказом, у меня есть детали заказа, которые идут по всем хорошо. У меня были детализированный порядок заказов. Но теперь я хотел бы сделать разные вещи с этим порядком, например добавить больше строк заказа, изменить статус заказа с помощью кнопки, отправить заказ по электронной почте и так далее. В webforms я просто добавил обработчики событий в событие click, но здесь ... Нужно ли мне несколько форм? Как сделать код сервера, например, когда кто-то хочет изменить orderstatus одним нажатием кнопки?

+2

Ваше название бесполезно. – SLaks

+0

:) Я попытался изменить название сейчас – espenk

ответ

0

Я рекомендую вам пройти через весь NerdDinner учебник. Для ответа на ваш вопрос: В asp.net MVC действительно нет бланков. Существуют представления, которые показывают ваш заказ, и есть контроллеры/действия, которые позволяют запускать код для создания представлений, обновления базы данных и т. Д. Вы спрашиваете, нужна ли вам другая форма - ответ № Нет. Однако вам нужно по крайней мере, новое действие над контроллером и, возможно, новое представление, чтобы подтвердить, что заказ был изменен. Обзор очень упрощенного решения будет следующим:

Вы хотите, чтобы заказ был отмечен как закрытый нажатием кнопки. Предположим, у вас есть контроллер под названием «Заказ» и вид (в папке «Просмотр порядка»), называемый «Подробности». Вам нужно будет добавить действие, которое берет целое число в качестве параметра для вашего контроллера заказа под названием «Закрыть». В этом действии вы прочитаете целочисленный параметр (идентификатор заказа) и выполните код, чтобы обновить этот конкретный порядок до закрытого. Вероятно, вы захотите вернуть тот же вид с обэтом статусом из этого действия. Вам нужно будет добавить ссылку (возможно, используя функцию HTML.ActionLink) в ваше мнение, чтобы вызвать это новое действие.

+0

Учебник NerdDinner предназначен для версии 1.0, сильно ли отличается от 3.0? – espenk

+0

Существует немало улучшений/улучшений от 1.0 до 3.0, но основные знания, которые вы получаете от учебника nerddinner, применимы к любой версии. Честно говоря, хотя изучение учебника, а не просто просмотр примеров, принесет вам большую пользу, особенно если вы все еще спрашиваете о необходимости новых форм. – jlnorsworthy

0

В MVC все сообщения и действия. Вы можете отправлять сообщения в контроллеры разности. Кажется, вам нужно потратить немного больше времени на чтение. Если вы не любите чтение - попробуйте несколько хороших видеоурок для начинающих. http://www.asp.net/mvc

+0

Ну .. вещи сильно изменились с тех пор, как я добавил этот пост в 2011 году. В то время я переходил из веб-форм. Теперь я обнаружил фантастическое сочетание angularJS и Web API :) – espenk

Смежные вопросы