2010-03-15 19 views
0

我爲我創建的ASP.NET MVC應用程序創建了一個新的ActionFilter。我有一個接受Http Post的動作,action方法的參數接受一個對象,爲此我創建並註冊了一個自定義模型聯編程序。ActionFilter中的模型可用性

我注意到IActionFilter.OnActionExecuting內爲filterContext.Controller.ViewData.Model值始終null儘管它看起來像模型粘合劑的動作過濾器OnActionExecuting方法之前總是調用。與此相反,在同一個動作過濾器的IActionFilter.OnActionExecuted方法內,filterContext.Controller.ViewData.Model的值不爲空。

你們知道這是設計還是錯誤嗎?如果按照設計,他們的任何鏈接都描述了這是爲什麼?謝謝。

回答

1

由於Controller Action負責創建模型並將其傳遞給View,因此模型在調用操作之前如何存在?你不知道什麼樣的模型會在它發生之前被創建。

+0

謝謝,我正在修改由活頁夾創建的模型。我會找到另一種方式。 –

1

說過,您通常在執行動作期間設置模型。因此,在調用操作之前執行OnActionExecuting期間,模型是空的是很自然的。