Я создал пользовательский веб-контроль, который наследуется от HtmlGenericControl, и добавил свойство с именем ViewRoles.Когда элемент управления отображается, также отображается свойство Viewroles как свойство тега.
Это код элемента управления
[
AspNetHostingPermission(SecurityAction.Demand,Level = AspNetHostingPermissionLevel.Minimal),
AspNetHostingPermission(SecurityAction.InheritanceDemand,Level = AspNetHostingPermissionLevel.Minimal),
DefaultProperty("TagName"),
ToolboxData("<{0}:HtmlGenericControl runat=\"server\" ID=\"EDKHGC\" TagName=\"\"></{0}:HtmlGenericControl>")
]
public class HtmlGenericControl : System.Web.UI.HtmlControls.HtmlGenericControl, IVisible
{
/// <summary>
/// Main constructor
/// </summary>
/// <param name="tag">Name of the Tag</param>
public HtmlGenericControl(string tag)
: base(tag)
{
}
private string _viewRoles;
[Bindable(true), Category("Security"), DefaultValue(""), Description("Roles allowed to view the control")]
public string ViewRoles
{
get
{
if (string.IsNullOrEmpty(_viewRoles) && ViewState["viewRoles"] != null)
_viewRoles = ViewState["viewRoles"].ToString();
return _viewRoles;
}
set
{
_viewRoles = value;
ViewState["viewRoles"] = value;
}
}
Если я создаю экземпляр элемента управления на странице с помощью
<cc1:HtmlGenericControl tagname="div" ViewRoles="CustomRole" runat="server" id="myid"></cc1:HtmlGenericControl>
Элемент управления отображается как
<div id="myid" viewRoles="CustomRole">
Мне бы хотелось, чтобы во время выполнения свойство ViewRoles не отображалось.Есть ли определенные атрибуты для этого?Иначе как избежать рендеринга имущества?