程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> ASP.NET >> 關於ASP.NET >> [一步一步MVC]第一回:使用ActionSelector控制Action的選擇

[一步一步MVC]第一回:使用ActionSelector控制Action的選擇

編輯:關於ASP.NET

ActionFilter一定是MVC控制中對於Action控制中最值得研究的玩意,在項目實際中我們不可避免的使用例如:

HandleError

Authorized

OutputCache

在本文中,我們應用Action Selector方式進行Action的選擇,想要闡述清楚這個問題,我們從實際的問題出發來關注。

實際的問題,從和老趙的對話了解

我們有個業務室這樣的:系統有不同的角色,例如Admin、Client、Agent。假設有個功能叫Book/List,那麼就對應了一個List這樣的View和action為List這樣的BookController,現在,我們的情況是對於不同的角色,所對應的List是不同的。Admin看到的Book/List和Client看到的Book/List是不同的,那麼通過Url:http://anytao.com/Book/List/123,不同的角色如何處理,差不多就這樣,是否清楚。

我:那麼對於同一Action如何更好的return到不同的view?

老趙:具體問題是什麼呢?

我: 我現在能想到的是在Action中根據角色Return到不同的View,簡單的辦法就是在List Action根據角色Return到不同的View。問題是,還有什麼更好的辦法。

老趙:准備n各action,分別加上自定的ActionSelector,不要用一個Action,不用一個Action然後在裡面if。

[OnlyInRole("admin")] 
[ActionName("List")]
ListForAdmin() 
{
}

[OnlyInRole("user")] 
[ActionName("List")]
ListForUser() 
{
}

OnlyInRole需要自己寫,不過就幾行話

我: 哈哈,差不多了,謝啦。

根據老趙的指導,我對此思路進行了必要的探討,感受果然不同凡響。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved