У меня есть база данных sql-сервера, у которой есть таблица User. Я хочу создать пользователя через приложение MVC asp.net. У меня есть приложение, основанное на версии asp.net MVC 2. Я добавил контроллер как UserController, также создает представление как Пользователи. UserController, имеющий методы Create, Index, delete..so on .. Чтобы использовать пользовательские интерфейсы, что мне нужно делать? и если генерирует метод Create как принимающий параметры FormCollection (перегрузки), то как выполнить этот метод?Как asp.net MVC 2 выполняет действия?
ответ
Вот один из подходов. Добавить кнопку отправки в форму:
<button type="submit" value="Submit">ButtonText</button>
или
<input type="submit" value="ButtonText" />
Создание перегрузки методы Create:
[HttpGet]
public ActionResult Create()
{
...
}
[HttpPost]
public ActionResult Create(FormCollection collection)
{
...
}
атрибутов (HttpGetAttribute и HttpPostAttribute) пусть рамки знают первый метод должен быть вызван для запроса получения, а второй - для запроса на отправку.
Теперь получать значения в FormCollection довольно прямо вперед:
var value = collection["key"];
Вы не вызываете метод Create
непосредственно. Create
View отправит HttpPost
на сервер, а ASP.NET отправит запрос на метод Create
, который имеет атрибут HttpPost
.
Вот ссылка на execution process in MVC2 Есть также много других учебных пособий и т.д. на этом сайте (www.asp.net/mvc)
[HttpPost]
public ActionResult Create(FormCollection abc)
будет вызываться, когда вы передаете свой форма.
Действия MVC выполняются в соответствии с вашими регистрами маршрутов.
Например:
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new {controller = "Home", action = "Index", id = UrlParameter.Optional} // Parameter defaults
);
В случае маршрут по умолчанию, который поставляется с MVC, если доступ к/Users/Создать/в браузере, MVC маршрутов это в контроллер Users, а затем запускает Create()
действие. Идентификатор будет учитываться, только если вы сделаете что-то вроде/Users/Edit/1234.
Ваши действия могут использовать атрибут [HttpPost]
, чтобы указать, что он получает данные из входящего Http POST. Вы можете сделать все, что вы хотите с данными (сохраняются в базе данных и т.д.):
[HttpPost]
public ActionResult Create(FormCollection form)
{
/* do something to form values */
}
Перебирая концепции маршрутов и контроллеров (как в ASP.NET MVC) потребовало бы учебник по себе. Почему бы вам не попробовать пройти через Nerddinner project? Nerddiner - проект ASP.NET MVC с открытым исходным кодом, который вы можете изучить, чтобы понять концепции и особенности реализации ASP.NET MVC.
- 1. Перегрузка ASP.NET MVC-действия
- 2. Показать результат действия в ASP.NET MVC 2 приложение перенаправлено страницы
- 3. действия в ASP.NET MVC
- 4. CQS и ASP.NET MVC Действия
- 5. перенаправлять действия ASP.NET MVC
- 6. Сроки действия ASP.NET MVC
- 7. Как добавить behavoirs в asp.net mvc 2 результат результата действия
- 8. ASP.NET MVC 2 - Как переопределить аннотацию для одного действия контроллера?
- 9. MVC Button Click выполняет действия без перенаправления
- 10. ASP.NET MVC 5, Web Api 2 - PasswordValidator не выполняет
- 11. Выполняет ли установка ASP.NET MVC перезагрузку сервера?
- 12. Результат действия post-действия Asp.Net MVC
- 13. ASP.NET MVC неоднозначные методы действия
- 14. Неоднозначные методы действия - ASP.net MVC
- 15. asp.net mvc 2 multithread
- 16. HttpStatusCodeResult в ASP.NET MVC 2
- 17. asp.net MVC не оказывающие действия
- 18. Использование методов действия ASP.NET MVC
- 19. объяснить, как MVC Авторизоваться Атрибут выполняет АОП как действия
- 20. Исключение действия от авторизации в ASP.NET MVC 2
- 21. ASP.NET MVC асинхронные действия: кто ждет результата?
- 22. asp.net webapi vs asp.net mvc restlike действия
- 23. ASP.Net MVC 2: Мои действия с контроллером не вызываются
- 24. ASP.NET MVC и длительные действия
- 25. Результаты виртуального действия ASP.NET MVC
- 26. Риски запуска кода после действия ASP.Net MVC
- 27. Действия MVC, следует ли мне создать 2 действия для входа?
- 28. asp.net mvc - как остановить метод действия, вызываемый
- 29. Asp.Net MVC Как регистрировать все действия, вызываемые
- 30. asp.net MVC: как получить предыдущее название действия
Атрибут HttpGet может быть легко пропущен, если есть только два действия с одним и тем же именем (следовательно, только один из них имеет атрибут селектора действий, а именно «HttpPost»).Но у вас есть несколько действий с различными селекторами действий (например, два для анонимных пользователей и два для проверки подлинности), тогда все они должны иметь эти атрибуты на них. –