【问题标题】:ASP.NET Conditional Markup Rendering According to Web.config KeyASP.NET 根据 Web.config 键进行条件标记渲染
【发布时间】:2011-01-19 11:39:40
【问题描述】:

我在 web.config 中有一个键 -

<add key="IsDemo" value ="true"/>

我想根据上面的 web.config 条目显示/隐藏 非服务器 html 标记的标记,而不使用文件隐藏代码(因为没有 .cs 文件,也没有 runat=服务器控制)。 类似于以下伪代码:

IF ( IsDemo == "true" )
THEN
<tr>
    <td id="tdDemoSection" colspan="2" align="left" valign="top">
        <.....>
    </td>
</tr>
ENDIF

有谁知道我们可以在 .aspx 标记中编写这样的条件逻辑? 请帮忙!!!

编辑:

我要隐藏或显示的部分有一些数据,例如用户名和密码。所以,我不希望用户使用 Firebug 或 Web Developer Tools 来查看隐藏的标记。标记不应转到客户端。

【问题讨论】:

    标签: c# javascript asp.net markup


    【解决方案1】:

    类似的语法是

    <% if(System.Configuration.ConfigurationManager.AppSettings["IsDemo"] == "true") %>
    <% { %>
    <!-- Protected HTML goes here -->
    <% } %>
    

    这假定页面是 C# 中的。

    您可以通过对 AppSettings 检索采取更多防御措施来巩固此代码,例如在值为 null 等的情况下会发生什么。

    【讨论】:

    • 谢谢。对您的代码进行了一些更改,并在下面添加了对我有用的 sn-p。
    【解决方案2】:

    解决方案:-

    <% If (ConfigurationManager.AppSettings("IsDemo").ToLower().Equals("true")) Then%>
        <tr>
           <.....>
        </tr>
    <% Else%>
        <tr>
            <.....>
        </tr>
    <% End If%>
    

    【讨论】:

    • 问题用 C# 标记,这看起来像 VB.NET。
    【解决方案3】:

    如果我理解正确,您不想使用服务器端(aspx 组件,具有 runat="server" 属性)并且只想控制 html 在 aspx 页面上的显示,然后尝试此解决方案。

    在代码隐藏文件中创建一个属性(或者更好的是在其他配置助手类中):

    //IN C# (OR VB) file
    protected string Demo{
        get{ 
                return ConfigurationManager.AppSettings["IsDemo"]=="true"?
                       "none":"block";
          }
    }
    

    在aspx页面中:

    <tr style="display:<%= Demo%>;">
        <td>blah blah</td>
    </tr>
    

    【讨论】:

    • 我隐藏或显示的部分有一些数据,如用户名和密码。所以,我不希望用户使用 Firebug 或 Web Developer Tools 来查看隐藏的标记。标记不应转到客户端。
    • 你为什么要把用户名和密码放在页面上?
    • 是的。你的问题是有效的。 :) 我曾向我的客户提出同样的问题。但实际上,它不是密码,而是多个用户共享的访问代码。
    • 那么除了使用服务器端控制之外没有其他简单的方法可以让这些东西一开始就不会被渲染。
    猜你喜欢
    • 2021-07-10
    • 2012-02-23
    • 2011-03-15
    • 1970-01-01
    • 1970-01-01
    • 2020-11-07
    • 2017-03-08
    • 2015-05-14
    • 1970-01-01
    相关资源
    最近更新 更多