Это простой вопрос: как я могу исключить часть html в веб-форме aspx из возвращаемого сервером на основе оценки на стороне сервера?
Я не говорю о контроле специально, потому что у них есть видимые параметры, а скорее некоторые сырые html.
Ответ 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 внутри своего серверного кода, но это обычно не очень хорошая идея.