阻止对控制器的直接URL访问,返回部分视图?

时间:2011-02-08 15:21:53

标签: asp.net-mvc

如果有一个名为UsersController的控制器,其操作如下:

public ActionResult ActiveUsers()
{
   IQueryable<TBL_USERS> recentUsers = repo.GetRecentUsers();
   Return PartialView(recentUsers);
}

这是通过整个ap中的Html.RenderAction()来调用的。

如果用户直接在地址栏中导航到Users / ActiveUsers,则部分视图将在浏览器中呈现。

可以阻止这个吗?

1 个答案:

答案 0 :(得分:7)

使用ChildActionOnlyAttribute(http://haacked.com/archive/2009/11/18/aspnetmvc2-render-action.aspx

  [ChildActionOnly]
  public ActionResult Menu() {
    var menu = GetMenuFromSomewhere();
      return PartialView(menu);
  }