Подтвердить что ты не робот

Условно исключая блок html в ASP.NET WebForms

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

Я не говорю о контроле специально, потому что у них есть видимые параметры, а скорее некоторые сырые html.

4b9b3361

Ответ 1

<div id="divYourDiv" runat="server">
    your stuff goes here...
</div>

//Server side code...
public void ShowYourDiv(bool visible)
{
    this.divYourDiv.Visible = visible;
}

Ответ 2

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

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

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

Ответ 3

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

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

Ответ 4

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

Ответ 5

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

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