我想基于用户权限使用自定义安全框架禁用/启用控件。我试图在代码隐藏文件中使用此代码MVC3访问控制
protected void OnLoadComplete(object sender, EventArgs e)
{
if ((ViewData[Constants.Permission]).Equals(Security.UserAccess.ReadOnlyAccess))
{
foreach (var control in this.Page.Controls )
{
control.IsReadOnly = true;
}
}
}
但是,控件的IsReadOnly属性不可用。有没有办法可以解决这个问题或更好的方法来实现这一目标?
---更新---
Controller.cs
[Proxy.AimsAccessLevel]
public ActionResult Edit(int clientId)
{
ClientId = clientId;
//SetClientDetails();
var Selection = new SelectionArgs(clientId, null);
if (Selection.SelectionFlag == null || Selection.SelectionFlag == "N")
Selection.EffectiveDate = new DateTime(DateTime.Now.Year + 1, 1, 1);
return View(Selection);
}
proxy.cs
public class AccessLevel : AuthorizeAttribute
{
protected override bool AuthorizeCore(HttpContextBase httpContext)
{
Roles = Constants.AccessLevel.FullEdit + Constants.AccessLevel.ReadOnly.ToString() +
Constants.AccessLevel.RestrictedEdit;
return base.AuthorizeCore(httpContext);
}
}
MVC没有一个代码隐藏。你使用MVC还是WebForms? – 2012-03-26 15:01:38
即时通讯使用mvc我使用<%@ Page CodeBehind =“Edit.aspx.cs”Title =“”Language =“C#”MasterPageFile =“〜/ Views/Shared/Site.Master”Inherits =“Views.Selection.Edit” %> 给了我没有错误 – 2012-03-26 15:08:15