“System.Web.UI.WebControls.Literal”不允许使用子控件
今天在写下面的代码时遭遇错误——“System.Web.UI.WebControls.Literal”不允许使用子控件('System.Web.UI.WebControls.Literal' does not allow child controls):
- var postBodyDiv = new HtmlGenericControl()
- {
- ID = "cnblogs_post_body",
- ClientIDMode = ClientIDMode.Static,
- TagName = "div",
- InnerHtml = body
- };
- var signatureDiv = new HtmlGenericControl()
- {
- ID = "signature",
- TagName = "div"
- };
- literalBody.Controls.Add(postBodyDiv);
- literalBody.Controls.Add(signatureDiv);
literalBody的类型是System.Web.UI.WebControls.Literal。将postBodyDiv与signatureDiv作为子控件添加到literalBody中,是为了避免字符串拼接带来的内存消耗。
之前字符串拼接的代码如下:
- literalBody.Text = "<div id=\"cnblogs_post_body\">" + body + "</div><div id=\"signature\"></div>";
本来这不是问题,把类型由Literal改为Label就行了,但是实际场景不允许这么做,必须要用Literal。
后来采取了在literalBody的父控件中动态添加postBodyDiv与signatureDiv的方法解决了问题,代码如下:
- var postBodyDiv = new HtmlGenericControl()
- {
- ID = "cnblogs_post_body",
- ClientIDMode = ClientIDMode.Static,
- TagName = "div",
- InnerHtml = body
- };
- var signatureDiv = new HtmlGenericControl()
- {
- ID = "signature",
- TagName = "div"
- };
- var bodyControlIndex = this.Controls.IndexOf(literalBody);
- if (bodyControlIndex >= )
- {
- Controls.AddAt(bodyControlIndex, postBodyDiv);
- Controls.AddAt(bodyControlIndex + , signatureDiv);
- }
“System.Web.UI.WebControls.Literal”不允许使用子控件的更多相关文章
- System.Web.UI.WebControls.FileUpload.cs
ylbtech-System.Web.UI.WebControls.FileUpload.cs 1. 程序集 System.Web, Version=4.0.0.0, Culture=neutral, ...
- foreach statement cannot operate on variables of type 'System.Web.UI.WebControls.Table' because 'System.Web.UI.WebControls.Table' does not contain a public definition for 'GetEnumerator'
错误:foreach statement cannot operate on variables of type 'System.Web.UI.WebControls.Table' because ' ...
- 无法将类型“ASP.login_aspx”转换为“System.Web.UI.WebControls.Login”
今天碰上了一个很傻的问题,起码我认为是这样. 项目中首页名是:Login.aspx,编译.运行都没有出现问题. 于是打包发布网站,各项内容都配置好后,问题出现了.一运行首页面就出现下面这个错误: 编译 ...
- 怎样将某一类型标识为适合绑定到 System.Web.UI.WebControls.ObjectDataSource 对象的对象
1.页面的代码如下: body> <form id="form1" runat="server"> <div> </div& ...
- System.Web.UI.WebControls的Web服务器控件
calendar[英][ˈkælɪndə(r)][美][ˈkæləndɚ]n.日历; 历法; 日程表; (一年之中的)重大事件(或重要日期)一览表; vt.把…记入日程表中; 把…列入表中; 为(文件 ...
- System.Web.UI.Page的页面基类
服务器端的page类 所有我们编写的页面都继承自page类,可见page类是非常重要的,page类提供了哪些功能,直接决定了我们的页面类可以继承什么功能,或者说,直接决定了我们的页面类功能的强大与否! ...
- System.Web.UI.HtmlControls
用来创建一个标签.HtmlContainerControl 一般用此类来新建标签. 可能我们熟悉System.Web.UI.WebControls;空间.System.Web.UI.WebContro ...
- 继承System.Web.UI.Page的页面基类
服务器端的page类 所有我们编写的页面都继承自page类,可见page类是非常重要的,page类提供了哪些功能,直接决定了我们的页面类可以继承什么功能,或者说,直接决定了我们的页面类功能的 ...
- 非静态的字段、方法或属性“System.Web.UI.Page.ClientScript...”要求对象引用 (封装注册脚本)
在写项目时想对asp.net的注册前台脚本事件进行封装,就添加了一个BasePage.cs页面,但一直报错‘非静态的字段.方法或属性“System.Web.UI.Page.ClientScript.. ...
随机推荐
- TCheckListBox
TCheckListBox.CheckListBox http://www.cnblogs.com/mingdep/archive/2012/03/20/2408282.html 全部打勾 for ( ...
- info grep半翻译加整理
内容来源基本上是整理info grep而来,当然只整理了关于用法的部分.有些地方给出了些解释,算是对grep的一个细节概述吧. 1.1 grep选项 grep家族:grep -G或者grep使用基本正 ...
- format when printing
http://msdn.microsoft.com/en-us/library/vstudio/56e442dc.aspx %[flags] [width] [.precision] [{h | l ...
- SQL in与exists
无可置疑,如果in()的结果集非常庞大,那么效率必然是低的. 但EXISTS subquery根据其语法可知在SQL中的作用是:检验查询是否返回数据.如果在 Dictionary 对象中指定的关键字存 ...
- ORA-01720: grant option does not exist for 'xxx.xxxx' (ORA-01720 ‘XXX’ 不存在授权选项)
原因:用户A将表tab的SELECT权限授予了用户B,而用户B将视图v_tab的查询权限授予C时,也试图将表tab授予用户C,但用户B并没有这个权限(将表tab授予用户C),而引起的 用户B没有授权选 ...
- 【MVC】 js,css 压缩
[MVC] js,css 压缩 一. 引用 System.Web.Optimization.dll : 使用 Nuget ,在控制台输入 Install-Package Microsoft.AspNe ...
- dynamic2016 crm 安装语言包提示缺少组件报错
当安装dynamic2016 CRM英文语言包安装成功后,在系统切换语言的时候提示如下报错为缺少CRM reporting extensions 插件导致,在CRM的解压安装包如下路径找到对应的执行文 ...
- sql语句执行插入后返回ID
insert into table1(aaa,bbb) values('aaa','bbb') select @@identity
- 对需要聚类的数据使用canopy做初步的计算
K值聚类的时候,需要自己指定cluster的数目. 这个cluster数目一般是通过canopy算法进行预处理来确定的. canopy具体描述可以参考这里. 下面是 golang语言的一个实现(对经纬 ...
- python-->基础-->002-->input & raw_input
一.input与raw_input的区别 1.raw_input()说明 a = raw_input("input content:")print a,type(a) 输出结果: ...