这只是一个简单的问题:如何根据服务器端评估从服务器返回的aspx Web表单中排除一段html?
我不是专门讨论控件,因为它们往往具有Visible参数,而只是一些原始html。
答案 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,但这通常不是一个好主意。