“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.. ...
随机推荐
- python 格式化 json输出
利用python格式化json 字符串输出. $ echo '{"json":"obj"}' | python -m json.tool 利用python -m ...
- javascript-test1
var AAA = function(name, age) { this.name = name ; this.age = age; } AAA.prototype.getName = functio ...
- compile error
stray \241 程序有非法字符,如空格,引号等,一般因为从别的地方粘贴导致这个错误.
- S5PV210的LCD控制器详解
1.FIMD结构框图 (1)Samsung的s5pv210的LCD控制器叫做FIMD(也叫显示控制器).Display controller(显示控制器)包括用于将图像数据从相机接口控制器的本 地总线 ...
- js 模块开发之一(模块开发价值)
首先引用我们的今天的主角 ----<前端模块化开发的价值> 1,前端开发最常见的两个问题 ---命名冲突和文件依赖 2,对于命名冲突的基本解决办法就是学习其他语言的习惯,添加命名空间 va ...
- removeClass() 方法
删除元素的class类别用removeClass() 方法,与addClass()方法对应.具体使用如下: 如果要删除 p 标记是 cls0 的类别,可以使用如下的代码: $("p" ...
- push
1:收到通知的那一刻,app的状态可能是未启动,前台以及后台 如果未启动,等待点击app的时候进行界面跳转的时候接收到通知(didFinishLaunchngWithOPtions) 如果是前台以及后 ...
- 使用Intellij idea开发
使用IntelliJ IDEA开发SpringMVC网站(一)开发环境 使用IntelliJ IDEA开发SpringMVC网站(二)框架配置 使用IntelliJ IDEA开发SpringMVC网站 ...
- MySQL-->基础-->001-->MySQL基本操作
一.MySQL安装 卸载mysql 第一步 sudo apt-get autoremove --purge mysql-server-5.0 sudo apt-get remove mysql-ser ...
- 一个使用高并发高线程数 Server 使用异步数据库客户端造成的超时问题
现象 今天在做一个项目时, 将 tomcat 的 maxThreads 加大, 加到了 1024, tomcat 提供的服务主要是做一些运算, 然后插入 redis, 查询 redis, 最后将任务返 ...