Ответ 1
<div id="divYourDiv" runat="server">
your stuff goes here...
</div>
//Server side code...
public void ShowYourDiv(bool visible)
{
this.divYourDiv.Visible = visible;
}
Это простой вопрос: как я могу исключить часть html в веб-форме aspx из возвращаемого сервером на основе оценки на стороне сервера?
Я не говорю о контроле специально, потому что у них есть видимые параметры, а скорее некоторые сырые html.
<div id="divYourDiv" runat="server">
your stuff goes here...
</div>
//Server side code...
public void ShowYourDiv(bool visible)
{
this.divYourDiv.Visible = visible;
}
Некоторые люди возражают против следующего метода, но тот, на который никто не ответил, и я считаю, что он должен быть показан как опция. Это может быть удобно при правильном использовании.
<% if (ShowLabel) {%>
<label>This will not be shown if the ShowLabel property evaluates false</label>
<%}%>
Чтобы сделать эту работу, у вас будет общедоступное или защищенное свойство на вашей странице под названием ShowLabel, которое возвращает логическое значение.
Поместите элемент управления PlaceHolder
вокруг кода. Он не отображает никакого кода для себя (например, Panel
), поэтому он не мешает HTML-коду при его видимости.
Если вы установите для свойства Visible
значения PlaceHolder
значение false, код внутри PlaceHolder
не будет отображаться на странице.
Через него/установите его в скрытый div или панель (при использовании div, отметьте runat = server, оба сделайте как div). Затем сделайте div/панель видимой или сохраните ее в зависимости от вашей оценки.
Можете ли вы обернуть свой html внутри панели asp и установить видимый атрибут панели на стороне сервера.
В противном случае Html является клиентской стороной, вам нужно использовать javascript для управления. Возможно, вы сможете отображать некоторые javascript внутри своего серверного кода, но это обычно не очень хорошая идея.