Merhaba Uygulamamdaki her bir denetleyici için özel ActionFilterAttribute oluşturmak istiyorum, bu özellik bazı ViewBag değerlerini ayarlamalıdır. ActionFilterAttribute bunun için iyi olur ve ActionFilterAttribute'de viewbag'e nasıl erişilir?ActionFilterAttribute ASP MVC 5'de ViewBag için değerler nasıl ayarlanır?
20
A
cevap
51
Sen kullanarak bu
public class SomeMsgAttribute : FilterAttribute, IResultFilter
{
public void OnResultExecuted(ResultExecutedContext filterContext)
{
}
public void OnResultExecuting(ResultExecutingContext filterContext)
{
filterContext.Controller.ViewBag.Msg= "Hello";
}
}
gibi yapabilirsiniz:
[SomeMsg]
public ActionResult Index()
{
return View();
}
7
farklı bir kontrolör eylem veri aktarmak için bu
public class CustomFilterAttribute : ActionFilterAttribute
{
public override void
OnActionExecuting(ActionExecutingContext filterContext)
{
// get the view bag
var viewBag = filterContext.Controller.ViewBag;
// set the viewbag values
viewBag.CustomValue = "CustomValue";
}
}
0
deneyin
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
EmployeeTrackingSystemAndMISEntities db = new EmployeeTrackingSystemAndMISEntities();
var UserCookie = filterContext.HttpContext.Request.Cookies["UserUniqueID"];
RouteValueDictionary redirectTargetDictionary = new RouteValueDictionary();
redirectTargetDictionary.Add("action", "UserLogIn");
redirectTargetDictionary.Add("controller", "Login");
var TempData = filterContext.Controller.TempData;
TempData["Status"] = "Please log in as Admin";
filterContext.Result = new RedirectToRouteResult(redirectTargetDictionary);
}
İlgili konular
- 1. ASP MVC
- 2. mvc C# Html.DropDownList ve viewbag
- 3. ViewBag Onclick Düğmesine Ekle MVC
- 4. Varsayılan değerlerini değiştirmek için ASP MVC Request Header'ı değiştirin
- 5. ASP MVC ve React
- 6. ASP MVC Yönlendirme (yönlendirme)
- 7. mvc içinde jquery içinde ViewBag için bir değer vermek, C#
- 8. ASP.NET MVC ActionFilterAttribute, model bağlamadan önce değeri enjekte
- 9. ASP MVC uygulamalarınızı kullanıcı tabanlı güvenlik için nasıl test ediyorsunuz?
- 10. Form Verilerini Okuma ActionFilterAttribute
- 11. javascript asp .net MVC 4'te bir ActionResult değeri gönder?
- 12. Ağır kullanım ViewBag
- 13. Access Session.SessionID in ActionFilterAttribute
- 14. ASP 5, MVC 6 e-posta gönderiliyor
- 15. Asp .Net Mvc Bundle yanlış komutların yolu
- 16. Select TagHelper ViewBag Listesinden Kullanılıyor
- 17. ASP.NET MVC 3 düzeni ViewBag verileri tüm çocuk görünümlerinde
- 18. ASP .NET MVC doğru UserControl mimarisi
- 19. MVC ayrıştırma IEnumerable değerler istekte
- 20. ASP MVC Kısmi Görünümde Bölümü Tanımlayın
- 21. ASP.NET MVC 3 - ViewBag özelliği hiçbir IntelliSense sağlamadı
- 22. Asp MVC Eylem bağlantısı mutlak URL
- 23. Visual Studio ASP .Net MVC Intellisense
- 24. Asp mvc 4 Üyelik ve Web Güvenliği
- 25. ViewBag özelliklerini _ViewStart.cshtml'de nasıl ayarlayabilirim?
- 26. MVB'de ViewBag bozuk mu kullanıyor?
- 27. ASP MVC 5 (Microsoft.AspNet.Identity) Kullanıcı Yönetim Paketi
- 28. Bir webapp içinde ASP MVC Ajax form
- 29. JSON için Spring MVC REST'de içerik uzunluğu nasıl ayarlanır?
- 30. MVC ScriptBundle'da charset için .js dosyası nasıl ayarlanır?
Bunun neden "Yürütme" aşamasında değil, "Yürütülüyor" da çalıştığı hakkında herhangi bir açıklama var mı? –
@TolgaEvcimen 'OnResultExecuted', tıraş makinesi görünümü oluşturulduktan sonra çağrılır. O zaman, çıkışı değiştirmek için çok geç. – DPac
Gördüğüm gibi, her zaman, 'OnResultExecuted' eylemi döndükten hemen sonra çağrılan, acıma :) diye düşünmüştüm. Bunu düşünmeliydim :) Teşekkürler. –