2013-02-22 20 views
0

在ASP.NET MVC控制器中,我有兩個Create和兩個Edit Actions。其中每個使用相同的ViewBag s。問題是,如果我想更改一個ViewBag,我必須將其更改爲四個操作。有沒有什麼辦法可以定義所有的Viewbag想要在ASP.NET MVC中只定義一次ViewBag

+1

你可以在控制器構造 – 2013-02-22 18:16:42

回答

2

你可以寫一個自定義的行爲過濾:

public class MyActionFilterAttribute : ActionFilterAttribute 
{ 
    public override void OnActionExecuted(ActionExecutedContext filterContext) 
    { 
     filterContext.Controller.ViewBag.FooBar = "baz"; 
    } 
} 

,然後裝點你的所有4個動作與[MyActionFilter]屬性。

+0

定義viewBag我可以創建一個方法,並定義函數內部我所有viewbags並調用它從我的創建和編輯的操作? – 2013-02-27 17:32:16

+0

是的,當然可以。 – 2013-02-27 21:37:24

+0

感謝Darin,我認爲這會更容易 – 2013-02-27 21:53:29