c# – 如何覆盖Datalist被渲染成Div而不是表?
发布时间:2020-12-16 00:17:48 所属栏目:百科 来源:网络整理
导读:我想将datalist渲染为div而不是table,重复列将由div上的float样式修复. 所以任何人都知道一个覆盖渲染方法来做到这一点. 谢谢. 解决方法 我找到了这个解决方案,但我发布它来帮助别人; 一些用户建议使用转发器,这是正确的,但对于这种情况,在datalist中替换div
我想将datalist渲染为div而不是table,重复列将由div上的float样式修复.
所以任何人都知道一个覆盖渲染方法来做到这一点. 谢谢. 解决方法
我找到了这个解决方案,但我发布它来帮助别人;
一些用户建议使用转发器,这是正确的,但对于这种情况,在datalist中替换div而不是table RepeatLayout=RepeatLayout.Flow 这将使它跨越br. RepeatDirection=RepeatDirection.Horizontal 此语句将删除br但仍使用span呈现的项目. 因此,如果您不想使用Horizo??ntal RepeatDirection,则覆盖RenderContents以在span范围外创建自己的div并删除br,如下所示: protected override void RenderContents(HtmlTextWriter w) { writer.WriteBeginTag("div"); writer.WriteAttribute("id",this.ClientID); writer.WriteAttribute("class",cssClass); writer.Write(HtmlTextWriter.TagRightChar); foreach (DataListItem li in this.Items) { writer.WriteBeginTag("div"); writer.WriteAttribute("id",li.ClientID); writer.WriteAttribute("class",li.CssClass); writer.Write(HtmlTextWriter.TagRightChar); li.CssClass = null; // clear css not to added in span li.RenderControl(w); writer.WriteEndTag("div"); } writer.WriteEndTag("div"); } 致以我的问候 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |