Условное отображение разметки в ASP.NET по ключу Web.config - PullRequest
10 голосов
/ 19 января 2011

У меня есть ключ в 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, чтобы увидеть скрытую разметку.разметка не должна переходить на сторону клиента.

Ответы [ 3 ]

24 голосов
/ 19 января 2011

Синтаксис для чего-то подобного будет

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

Предполагается, что страница находится на C #.

Вы можете укрепить этот код, проявив больше защиты в поиске AppSettings, например, что происходит в случае, когда значение равно нулю и т. д.

6 голосов
/ 20 января 2011

Решение: -

<% If (ConfigurationManager.AppSettings("IsDemo").ToLower().Equals("true")) Then%>
    <tr>
       <.....>
    </tr>
<% Else%>
    <tr>
        <.....>
    </tr>
<% End If%>
2 голосов
/ 19 января 2011

Если я правильно понимаю, вы не хотите использовать серверную часть (компоненты aspx, с атрибутом runat = "server") и просто хотите контролировать отображение html на странице aspx, а затем попробуйте это решение.

Создайте свойство в файле codebehind (или, что еще лучше, в другом классе помощника по настройке):

//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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...