想动态生成个控件,提示错误了

seesea125 2003-08-18 04:08:29
Button mybtn=new Button();
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
}

#region Web Form Designer generated code
override protected void OnInit(EventArgs e)
{
//
// CODEGEN:该调用是 ASP.NET Web 窗体设计器所必需的。
//
mybtn.Visible=true;
mybtn.Style["Z-INDEX"]="104";
mybtn.Style["POSITION"]="absolute";
mybtn.Style["LEFT"]="50px";//.Insert(0,"5px");
mybtn.Style["TOP"]="100px";
this.Controls.Add(mybtn);
InitializeComponent();
base.OnInit(e);

this.mybtn.Click += new System.EventHandler(this.btnclick);
}
提示错误:
类型“Button”的控件“_ctl0”必须放在具有 runat=server 的窗体标记内。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.Web.HttpException: 类型“Button”的控件“_ctl0”必须放在具有 runat=server 的窗体标记内。

源错误:

执行当前 Web 请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪信息确定有关异常原因和发生位置的信息。
...全文
21 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
seesea125 2003-08-18
  • 打赏
  • 举报
回复
非常谢谢蓝风, Meyer() ,kent诸位高手,我加分了
crodling 2003-08-18
  • 打赏
  • 举报
回复
楼上两位所言极是
crodling 2003-08-18
  • 打赏
  • 举报
回复
注意你改动的时候public class detail: System.Web.UI.Page

看看这里是不是也变成了detail了,如果是的话,就把类名改成其他,避免重复
Meyer 2003-08-18
  • 打赏
  • 举报
回复
1。
不要在OnInit()里添加你的代码,这个函数由开发环境管理,
你的代码如果丢失,没人同情你

2。动态加在button不是这样写的

private void Page_Load(object sender, System.EventArgs e)
{

Button mybtn=new Button();
mybtn.Visible=true;
mybtn.Style["Z-INDEX"]="104";
mybtn.Style["POSITION"]="absolute";
mybtn.Style["LEFT"]="50px";//.Insert(0,"5px");
mybtn.Style["TOP"]="100px";
this.Controls[1].Controls.Add(mybtn);
//this.Controls[1]是的类型是System.Web.UI.HtmlControls.HtmlForm 他才是真正的页面控件的容器

}
chnking 2003-08-18
  • 打赏
  • 举报
回复
Button mybtn=new Button();
this.FindControl("WebForm2").Controls.Add(mybtn);
seesea125 2003-08-18
  • 打赏
  • 举报
回复
真是奇怪啊,看我的<form id="detail" runat="server">
cs
protected System.Web.UI.HtmlControls.HtmlForm detail;
提示:成员名称不能和他们的封闭类型相同
没有办法,难道以后动态生成的控件都要放panel里面?
crodling 2003-08-18
  • 打赏
  • 举报
回复
哦,我知道了你在这里把<form id="form1" runat="server">form1 改成formtest1
然后cs中
protected System.Web.UI.HtmlControls.HtmlForm formtest1;
crodling 2003-08-18
  • 打赏
  • 举报
回复
不会吧?我这边是通过的啊?你看
aspx中

<form id="form1" runat="server">

cs中
protected System.Web.UI.HtmlControls.HtmlForm form1;
seesea125 2003-08-18
  • 打赏
  • 举报
回复
楼上,这样行吗?页面上本来就有一个form1了,如果还这么写,提示”成员名称不能和他们的封闭类型相同“,没办法我换成form2了,然后this.form2.Controls.Add(mybtn);提示
未将对象引用设置到对象的实例。
行 39: this.form1.Controls.Add(mybtn);
行 40: this.mybtn.Click += new System.EventHandler(this.btnclick);
行 41:
detail.aspx.cs 行: 39
seesea125 2003-08-18
  • 打赏
  • 举报
回复
楼上,这样行吗?页面上本来就有一个form1了,如果还这么写,提示”成员名称不能和他们的封闭类型相同“,没办法我换成form2了,然后this.form2.Controls.Add(mybtn);提示
未将对象引用设置到对象的实例。
行 39: this.form1.Controls.Add(mybtn);
行 40: this.mybtn.Click += new System.EventHandler(this.btnclick);
行 41:
detail.aspx.cs 行: 39
crodling 2003-08-18
  • 打赏
  • 举报
回复
找到解决方法了
加上这句
protected System.Web.UI.HtmlControls.HtmlForm form1;
seesea125 2003-08-18
  • 打赏
  • 举报
回复
to: wacle([Smile!]) 写在你说的这里也是一样错误提示
to:kent ,this没有form方法啊
crodling 2003-08-18
  • 打赏
  • 举报
回复
奇怪,这个写在cs代码里面就通不过,写在aspx文件里面就可以
wacle 2003-08-18
  • 打赏
  • 举报
回复
相信你把这段代码写在page_load的if(!this.ispostback)应该就没问题了
chnking 2003-08-18
  • 打赏
  • 举报
回复
控件要添加在Form标记中的,你的添加方法是添加在boby中,form之外了:

this.Form的id.Controls.Add(mybtn);
crodling 2003-08-18
  • 打赏
  • 举报
回复
页面放个panel.然后用
this.panel1.Controls.Add(mybtn);

至于为什么this.Controls.Add(mybtn);会出错也不清楚。站个位置看后来人评论
version :4.0 1、将生成的代码和事件用两个文件实现。 2、修改了部分Bug; 3、颜色设置做了部分改进; 4、内部集成了VC的编译器,和模拟器,生成C文件后可以直接在uCGUIBuilder中编译,运行模拟器了 5、添加代码自动完成功能; 6、添加画线功能。 version : 3.1.0.0 1、修改了选择不同窗体属性窗口不更新的BUG; 2、修改了只能打开一个ucGUIBuilder的功能,现在可以同时启动多个; 3、修复了拖放非ucfrm引起软件错误的Bug; 4、添加了控件ID自动增加功能; 5、添加了控件ID检查功能,控件ID有重复时会有警告; 6、添加了用户自定义字体功能; 7、支持中英文切换(但功能不够完善); 8、支持自动检查更新; 9、修改了不能保存用户自定义ID的BUG; version : 3.0.0.0 重写了部分内核,运行更稳定; 支持窗体设计器的复制、粘贴、剪切、删除、撤销、等基本操作; 支持多控件,对齐、公共属性修改等基本操作; 支持将.ucfrm文件与ucGUIBuilder关联功能; 支持控件自定义ID; 添加了窗体预览功能; 添加了对控件事件的支持; 添加了在线检查更新功能; 等…… version : 2.1.0.5 优化了控件库; 修复了一些Bug; 代码生成窗口中添加了C语言语法高亮显示功能; C文件模板做了部分修改(C文件模板大家可以随意修改为自己喜欢的格式(..\Template\Template.c文件) 但是要保证$$$GUI_WIDGET_CREATE_INFO$$$ $$$Defination$$$ $$$InitDialog$$$ 三个字符串位置不变) 支持设计的窗体保存为文件,并可以打开; 对所有控件属性添加了Description(在属性窗口最下面显示); 窗体布局可以保存,可以自定义为自己喜欢的窗体布局; 修改了部分功能; version : 2.0.0.5 优化了控件库; 修复了一些Bug; 可以生成完整的C文件(包括 资源表,初始化代码等); 修改了部分功能; version : 1.0.0.0 功能很不完善; 还有好多BUG; 目前只能生成资源表; 暂时不能生成其他代码; 大家有什么好的建议可以发送Email 到: ucguibuilder@163.com
项目名称:高仿QQ2013通讯DEMO-10.30更新 版本号:10.30 最新版本 下载内容: (C#)CC2013局域网通讯源码一份, 可引用至工具箱最新版CSkin.dll-10.30版本界面库一份。 界面库更新说明: CC2013-10.30 1.由于SkinForm名字太多人使用,界面库命名正式改为CSkin.dll,官网www.cskin.net。 2.SkinTabControl标签中添加菜单箭头,可点击展开菜单。 3.SkinTabControl添加标签关闭按钮。 4.修复部分中文乱码问题。 5.优化好友列表右键菜单。 6.将窗体自定义系统按钮改为集合模式,可添加无数个自定义系统按钮。自定义系统按钮事件中可以 e.参数 来判断。 7.增加360安全卫士-DEMO案例。 8.增加SkinAnimatorImg控件,用于支持位图动画的播放。如360的动态logo。 9.各种细节BUG优化。 CC2013-10.11 1.添加SkinTabControlEx,加入更加自定义的美化属性和动画效果。 2.添加SkinAnimator,通用动画控件。 3.添加Html编辑器控件 4.修复SkinButton图标和文本相对位置的BUG CC2013-9.26 1.优化好友列表CPU占用 2.好友列表加入好友登录平台属性:安卓 苹果 WEBQQ PC 3.优化标题绘制模式,新添标题绘制模式属性。 4.新添标题偏移度属性。 5.加入圆形进度条控件:ProgressIndicator。 CC2013-9.5.2 1.优化截图控件,截图工具栏加入新功能。 2.解决个人信息卡和天气窗体显示后不会消失的问题。 3.各种细节BUG优化。 CC2013-9.5.1 1.解决贴边左右隐藏的BUG。 2.解决窗体点击事件不能触发的问题。 3.优化SkinButton继承父容器背景色的代码。 4.解决SkinButton异常错误。 CC2013-9.3 1.好友列表右键菜单没反应问题。 2.新增美化控件SkinDatagridview。 3.密码软件盘回删不了文字问题。 4.双击窗体最大化,最大化后再双击恢复原大小,(win7)。 5.部分细节调优。 实现功能: 1.界面库中多达25个自定义换肤控件,让每个控件设设属性就能达到你要的效果,支持图片换肤和色调绘制。 2.四边阴影,毛边效果,可以设置阴影宽度和阴影颜色,支持所有系统。 3.拥有密码键盘输入,防护更贴心。 4.8种圆角窗体模式供你选择,淋漓尽致,润滑如圆。 5.登录主界面后,有登陆提示窗,提示上次登录的城市和时间。 6.皮肤随心变:拖动任意一张图片至主界面,就可以改变皮肤。 7.皮肤色调获取:改变皮肤的同时,将计算图片色调,再将其运用到窗体背景色。 8.皮肤尾部渐变:上下左右方均可实现,渐变皮肤。 9.皮肤拖拉方向:可以选择皮肤在拉伸的时候,粘着哪一边拖拉。 10.GDI+界面重绘,处理消息机制,3种移动模式和拉伸是否启用只需要设置一个属性的事就可以解决。 11.界面渐变闪现和闪退:不再像平凡的突然出现,采用API渐变机制,渐渐出现和消失,win7系统下还有动态缩小至任务的效果。 12.完美好友列表,可添加上千好友,不卡不掉线,还可以拖动好友到其他分组。 13.好友悬浮至头像可以查看详细资料卡。 14.窗口可调渐变后透明度:让窗体看起来更像是Vista玻璃窗体风格。 15.聊天窗口可发送图片,大文件,表情,还有震动。 16.按钮控件背景色拥有继承窗体背景主色调的功能,让整体色调保持一致。 17.更是有和如出一辙的扣扣截图。仿真度也达到100%,完美修复所有已知BUG。 18.聊天窗口,可以调字体颜色和字体样式等多项功能。 20.SkinLabel与SkinButton控件字体与窗体标题可以根据背景色暗亮度自动调节字体为黑还是白。 21.MessageBox提示框的美化,并继承调用窗口的色调与背景,MessageBox可所谓已达到帅气的不能再帅气的境界了。 22.天气皮肤自动变,所有窗体根据当地天气自动决定皮肤背景,CC最帅气功能之一。 23.个人资料卡及聊天窗体拥有动态CC秀展示。 24.主界面拖动换肤的同时,所关联的子窗体皮肤也会跟着变。 25.多线程大文件传输功能,支持无上限大文件传输,有进度条显示进程度。 26.界面库已封装了大图取主色调,颜色判断暗亮等多项功能。 27.如果你觉得获取天气让你的登录太慢不要的话,注释相关调用方法即可快速登录。 界面库交流群:306485590 本人QQ:345015918 注意: Demo版不包括更新,为方便用户查看和使用属性等方法,dll只轻微加密。反编译的就不要尝试了,里面有上百个类,改错改到你哭。 介意购买正版,永久更新配源码。 看截图或者购买商业版的用户请访问以下地址: http://www.51aspx.com/code/TotalLikeQQ2013 特权:购买商业版的用户,有权利享有最快的更新服务,第一时间将最新版本的dll源码送到你手上。 使本项目源码或本项目生成的DLL前请仔细阅读以下协议内容,如果你同意以下协议才能使用本项目所有的功能,否则如果你违反了以下协议,有可能陷入法律纠纷和赔偿,作者保留追究法律责任的权利。 1、你可以在开发的软件产品中使用和修改本项目的源码和DLL,但是请保留所有相关的版权信息。 2、不能将本项目源码与作者的其他项目整合作为一个单独的软件售卖给他人使用。 3、不能传播本项目的源码和DLL,包括上传到网上、拷贝给他人等方式。 4、以上协议暂时定制,由于还不完善,作者保留以后修改协议的权利。 时间:2013-7-5 作者: 乔克斯 请保留以上版权信息,否则作者将保留追究法律责任。

62,025

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧