我有一堆 Controller ,即 users
、admin
和 guest
我在 admin
上有很多功能我想在 users
上使用的 code> Controller 。由于访问 Controller 意味着重定向它,我希望这种行为不会发生,所以问题是
- 我可以像助手/模型一样使用 Controller 并加载它吗?像助手/模型一样加载它对我来说会更容易,因为有大量的 Controller 而且我不想添加新文件。
我在 C 中还是新手。请指导我。
最佳答案
您可以创建将执行某些逻辑的辅助类,您可以在 Controller 或 View 中调用它们。我不知道这是不是你想要的。 例如,我创建了一个名为 Repository(存储库模式)的文件夹,我在其中实现了例如呈现菜单的逻辑:
public class reposAccount
{
public static List<Sp_ShowMenuList_Result> ShowMenuList(int RoleID)
{
myEntities db = new myEntities();
List<Sp_ShowMenuList_Result> ListShowMenu = db.Sp_ShowMenuList(RoleID).ToList();
return ListShowMenu;
}
}
在 View 上我只是称之为“Helper”:
if (HttpContext.Current.User.Identity.IsAuthenticated)
{
//do some preparatory activities, then i call the helper:
foreach (var obj in reposAccount.ShowMenuList(RoleId).Where(z => z.ParentMenu == null).OrderBy(z => z.MenuOrder).ToList())
{
@: <li>@Html.ActionLink(obj.MenuName, "Index", obj.Controler_Name)</li>
}
}
相同的行为或方法,您可以在每个 Controller 上调用它们。
关于codeigniter - 使用 Controller 类作为助手或模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26386627/