首页 新闻 会员 周边 捐助

在使用asp.net mvc的时候如何在页面渲染之前根据权限来取消页面上的某些控件不渲染?

0
悬赏园豆:40 [待解决问题]

在使用asp.net mvc的时候如何在页面渲染之前根据权限来取消页面上的某些控件不渲染(因为没有权限所有不显示),我试过HttpModule和RazorViewEngine。但是貌似这两个地方都不能得到输出到页面的内容,HttpModule只能追加一段js去控制隐藏,而且貌似无法得到controller和action。我是个菜鸟,恳求大神提供可行性思路,需求是从一个地方直接解决所有页面!拜谢!

小小的菜鸟程序员的主页 小小的菜鸟程序员 | 初学一级 | 园豆:162
提问于:2018-04-09 18:17
< >
分享
所有回答(1)
0
public class UserViewModel
{
  public string UserName{get;set;}
  public int Age{get;set;}
  public string ShowButton{get;set;}
}

public class UserController:Controller
{
  public ActionResult UserInfo()
  {
      UserViewModel user=new UserViewModel();
     user.UserName="zhangsan";
     user.Age=19;
    if(有权限)
    {
        user.ShowButton="block";
    }
    else
    {
        user.ShowButton="none";
    }
    return View(user);
  }
}


<button style="display:@Model.ShowButton" />
Mad_Rabbit | 园豆:307 (菜鸟二级) | 2018-04-10 09:48

我明白您的意思。但是这么处理的话有个问题,就是要修改的地方太多。

支持(0) 反对(0) 小小的菜鸟程序员 | 园豆:162 (初学一级) | 2018-04-10 10:19

@小小的菜鸟程序员: 那你只能在布局页里,写js代码了,我能想到的只有布局页了。

但是这也只能改到引用布局页的页面,不引用的也改不了

支持(0) 反对(0) Mad_Rabbit | 园豆:307 (菜鸟二级) | 2018-04-10 15:30

@Mad_Rabbit: 谢谢!

支持(0) 反对(0) 小小的菜鸟程序员 | 园豆:162 (初学一级) | 2018-04-10 17:03
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册