有条件地在ASP.NET WebForms中排除一个html块

时间:2009-04-04 02:20:35

标签: asp.net html webforms

这只是一个简单的问题:如何根据服务器端评估从服务器返回的aspx Web表单中排除一段html?

我不是专门讨论控件,因为它们往往具有Visible参数,而只是一些原始html。

5 个答案:

答案 0 :(得分:55)

有些人反对以下方法,但却没有人回答,我觉得它应该作为选项显示。如果使用得当,它可以很方便。

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

要完成这项工作,您的页面上会有一个名为ShowLabel的public或protected属性,它返回一个布尔值。

答案 1 :(得分:9)

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

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

答案 2 :(得分:8)

在代码周围放置一个PlaceHolder控件。它不会为自身呈现任何代码(例如Panel),因此它在可见时不会干扰html代码。

如果将Visible的{​​{1}}属性设置为false,则PlaceHolder内的代码将不会呈现给页面。

答案 3 :(得分:0)

通过它/将其设置在隐藏的div或面板中(如果使用div,则标记runat = server,两者渲染为div)。然后根据您的评估使div /面板可见或隐藏它。

答案 4 :(得分:0)

你可以将你的html包装在asp面板中,并在服务器端设置面板的visible属性。

否则,Html是客户端,你需要使用javascript来操作。您可以在服务器端代码中呈现一些javascript,但这通常不是一个好主意。