我想要的是完全删除那些线条图像(甚至不在源代码中显示)或在其中放置一些替代文字。 alt文本不应为空。
<asp:TreeView ID="tvCategories" runat="server" ShowLines="true" ShowExpandCollapse="true" NodeWrap="true" ClientIDMode="Static" />
it is generating images for them like
<img alt="" src="/WebResource.axd?d=dfVL09bUhBneFGh9D0vDj08RF3Nrn9hb0Lh74Ri0hqgqmkAuOeYNlcDnBs2UP4NuOmbnPWYc2_OLskPjZI7ZHoMPKIYGQVmcGAiYgA2&t=635065079764912806">
我想要一些没有javascript的解决方案
我已经通过jquery在文档上放置了一些alt文本,但是一些爬虫仍然将alt文本读为空[可能在加载之前]。
示例javascript是
$('#viewCategoriesForBlog img[alt=""]').attr('alt', 'category');
我使用的是asp.net 4.0网页表单。
答案 0 :(得分:1)
有点像黑客,但无论如何。
您将使用覆盖TreeView
方法的自定义树视图,而不是使用内置Render
。在那里,我首先以标准方式呈现树内容,然后删除alt=""
(您可以替换它而不是删除)。
public class CustomTreeView : TreeView
{
protected override void Render( HtmlTextWriter writer )
{
StringBuilder sb = new StringBuilder();
using ( StringWriter sw = new StringWriter( sb ) )
using ( HtmlTextWriter tw = new HtmlTextWriter( sw ) )
{
base.Render( tw );
sw.Flush();
sb.Replace( "alt=\"\"", "" );
writer.Write( sb.ToString() );
}
}
}