Я хотел бы иметь автосохранение для форм на некоторых страницах моего сайта. Поэтому я переписываю window.onbeforeunload
, чтобы отправить формы. Моя проблема в том, что я хотел бы дать им сообщение об успешном завершении или ошибке с toastr
, но я не знаю, существует ли что-то уже существующее для сохранения данных от одного действия контроллера до любого действия на сайте. Я не думаю, что смогу использовать переадресацию с tempdata или viewbag. Эта функциональность уже существует?Как перенести данные на любое действие контроллера в проекте?
ответ
Почему вы не используете модели? Я думаю, что лучший способ передачи данных через контролер только проездом модель представить соответствующие действия как
return View("ViewName",model);
Или использовать RedirectToAction
если вы должны Асесс другого контроллера
return RedirectToAction("YourAction", "YourController", new {model = yourModel});
Для toastr Я рекомендую создать обертка, см. http://labs.bjfocus.co.uk/2014/06/create-an-mvc-wrapper-for-toastr/
Вы пытались изучить Action Filters, вы можете зафиксировать результат действия в Action Filter и сохранить данные. Также вы можете применять фильтры действий выборочно к действиям или глобально. Посмотрите здесь - http://www.asp.net/mvc/overview/older-versions-1/controllers-and-routing/understanding-action-filters-cs
Так что я смог заставить это работать, используя OnActionExecuting
, как и ответ Preet Singh, но с некоторыми дополнительными деталями.
public const string SESSION_ERROR = "SessionError";
public const string SESSION_SUCCESS = "SessionSuccess";
protected override void OnActionExecuting(ActionExecutingContext filterContext)
{
base.OnActionExecuting(filterContext);
ViewBag.Error = HttpContext.Session[SESSION_ERROR];
ViewBag.Success = HttpContext.Session[SESSION_SUCCESS];
HttpContext.Session[SESSION_ERROR] = string.Empty;
HttpContext.Session[SESSION_SUCCESS] = string.Empty;
}
Код выше используется упорствовать сообщения любого действия контроллера и позволяет мне установить сообщения легко с HttpContext.Session
. Этот код находится в BaseController
, и все контроллеры расширяют его.
- 1. Любое действие перенаправляется на корень
- 2. Как перенести действие на фрагмент
- 3. Вставить действие контроллера в действие другого контроллера
- 4. Grails - Как рассчитать время выполнения, затраченное на любое действие?
- 5. Изменить действие формы на действие контроллера
- 6. Как yii передавать данные значения в ссылке на действие
- 7. Как перенести данные в index.html на контроллер?
- 8. MVC2 Noobie Question - Как отправить данные Ajax в действие контроллера?
- 9. Как правильно отправить данные формы в действие контроллера?
- 10. Действие контроллера
- 11. Laravel ссылка на действие контроллера
- 12. Как перенаправить на действие контроллера из javascript
- 13. Как перенести действие основного приложения на активность субприложения в android?
- 14. как указать sitemap.xml на действие контроллера
- 15. Как хранить данные в проекте
- 16. Как отключить действие контроллера встроенного контроллера сада
- 17. Как перенести данные?
- 18. Как перенести данные в r
- 19. Как перенести данные в PowerShell
- 20. Как перенести данные в tidyverse?
- 21. использовать одно действие контроллера в другое действие
- 22. Перенести данные на другую страницу
- 23. Rails Ссылка на радиостанцию на действие контроллера
- 24. Как перенести источник контроллера из app.js в желаемое расположение папки в угловом проекте
- 25. Как создать действие контроллера рельсов?
- 26. Запись AJAX на действие контроллера CakePHP
- 27. Как перенаправить на действие другого контроллера ссылочного проекта
- 28. Как перенести данные с javascript на php
- 29. Как перенести данные с sql на javascript?
- 30. Как перенести данные с Parse.com на Firebase
Я разрешаю пользователю перейти на любую страницу, поэтому я не могу использовать перенаправление, не добавляя способ публикации места перенаправления с остальными данными. –