如果没有innerHtml,隐藏子html元素
本文关键字:html 元素 隐藏 innerHtml 如果没有 | 更新日期: 2023-09-27 18:17:57
我试图创建一个c#函数,该函数将隐藏所有没有innerhtml的子元素,用于传递的html控件。有人能给我指个正确的方向吗?不知道从哪里开始。
我正在使用asp.net 4。这是我的html结构的一个例子。
<div id="officeInfo" runat="server">
<h2><%= mlaLocationDTO.Name %></h2>
<p><%= mlaLocationDTO.Address.Street1 %></p>
<p><%= mlaLocationDTO.Address.Street2 %></p>
<p>Tel:<%= mlaLocationDTO.Phone %></p>
<p>Fax:<%= mlaLocationDTO.Fax %></p>
<p>Email:<%= mlaLocationDTO.Email %></p>
<a href="#">Get Directions</a>
<a href="#">Submit Your Resume</a>
</div>
和我的psuedo函数…
protected void HideHtmlElementsWhenEmpty(Control element)
{
foreach (Control c in element.Controls) maybe there's a better way than to use a loop
{
if(c.innerHtml != null) //not sure what to do here
{
c.Visible = false;
}
}
}
谢谢!
有条件地输出HTML标签:
<%= String.IsNullOrEmpty(mlaLocationDTO.Address.Street1)
? ""
: "<p>" + mlaLocationDTO.Address.Street1 + "</p>" %>
哦,不要忘记正确编码您的数据库输出:Street1可能包含<
或其他不适合html的字符,我们不想冒任何脚本注入的风险…
<%= String.IsNullOrEmpty(mlaLocationDTO.Address.Street1)
? ""
: "<p>" + Server.HtmlEncode(mlaLocationDTO.Address.Street1) + "</p>" %>