首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >没有应用动态样式

没有应用动态样式
EN

Stack Overflow用户
提问于 2014-03-05 18:36:16
回答 1查看 75关注 0票数 0

我有一个菜单,我已经为之构建风格,并有一些菜单选项,不应该显示给非管理员用户。我将链接到asp.net页面作为动态样式。以下是代码:

代码语言:javascript
复制
<head runat="server">
<title></title>
<link href="~/Styles/Site.css" rel="stylesheet" type="text/css" />
<link href="~/Styles/DynamicStyle.aspx" rel="stylesheet" type="text/css" />

<asp:ContentPlaceHolder ID="HeadContent" runat="server">
</asp:ContentPlaceHolder>
</head>

DynamicStyle.aspx的来源:

代码语言:javascript
复制
protected void Page_Load(object sender, EventArgs e)
    {
        if(!Roles.IsUserInRole("Administrators"))
        {
            StringBuilder oSb = new StringBuilder();

            oSb.AppendLine(".restricted");
            oSb.AppendLine("{");
            oSb.AppendLine("display: none;");
            oSb.AppendLine("}");

            Response.Write(oSb.ToString());
            Response.End();
        }
    }

我已经验证了它确实发出了正确的CSS。

下面是应该隐藏按钮的代码片段:

代码语言:javascript
复制
 <li><a href="events.aspx">Events</a></li>
                <li><a href="industries.aspx">Industries</a></li>
                <li class="restricted"><a href="institutions.aspx">Institutions</a></li>
                <li><a href="jobgroups.aspx">Job Groups</a></li>
                <li><a href="jobtitles.aspx">Job Titles</a></li>

在Mozilla的检查器中,它没有列出已应用的限制。

我从来没有尝试过这样做,但我看到它做了,我想知道我错过了什么?任何帮助都是非常感谢的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-03-05 19:14:58

您没有返回正确的CSS内容类型(它是返回text/html类型而不是text/css类型)。如果您添加Response.ContentType = "text/css";,您的代码就能工作。

代码语言:javascript
复制
Response.ContentType = "text/css";
Response.Write(oSb.ToString());
Response.End();

但真正的问题是你只是“隐藏”人们不应该看到的链接..。但是,如果他们查看页面源,他们仍然可以看到他们。更好的选择是根本不向客户端发送这些链接。一种选择是:

代码语言:javascript
复制
<li id="_admin1" runat="server"><a href="institutions.aspx">Institutions</a></li>

然后在你的代码后面:

代码语言:javascript
复制
_admin1.Visible = Roles.IsUserInRole("Administrators");

现在,该<li>的html甚至不会发送到客户端,除非它们处于正确的角色中。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22206321

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档