Условно исключая блок html в ASP.NET WebForms - PullRequest
22 голосов
/ 04 апреля 2009

Это простой вопрос: как я могу исключить кусок html в веб-форме aspx из списка, возвращаемого сервером, на основе оценки на стороне сервера?

Я не говорю конкретно об элементе управления, так как он, как правило, имеет параметры Visible, а просто какой-то необработанный html.

Ответы [ 5 ]

55 голосов
/ 04 апреля 2009

Некоторые люди возражают против следующего метода, но на него никто не ответил, и я чувствую, что он должен быть показан как вариант. Это может быть удобно при правильном использовании.

<% if (ShowLabel) {%>
<label>This will not be shown if the ShowLabel property evaluates false</label>
<%}%>

Чтобы это работало, на вашей странице должно быть открытое или защищенное свойство с именем ShowLabel, которое возвращает логическое значение.

9 голосов
/ 04 апреля 2009
<div id="divYourDiv" runat="server">
    your stuff goes here...
</div>

//Server side code...
public void ShowYourDiv(bool visible)
{
    this.divYourDiv.Visible = visible;
}
8 голосов
/ 04 апреля 2009

Положите PlaceHolder элемент управления вокруг кода. Он не отображает никакого кода для себя (например, Panel), поэтому он не мешает HTML-коду, когда он виден.

Если установить для свойства Visible PlaceHolder значение false, код внутри PlaceHolder не будет отображаться на странице.

0 голосов
/ 04 апреля 2009

Можете ли вы обернуть ваш HTML внутри панели asp и установить видимый атрибут панели на стороне сервера.

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

0 голосов
/ 04 апреля 2009

Через него / установите его в скрытом элементе div или на панели (при использовании div отметьте runat = server, оба отобразят как div) Затем сделайте панель div / видимой или скрытой в зависимости от вашей оценки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...