.net 后台动态绑定服务器控件 然后再取值问题 我在后台动态生成了2个服务器的checkbox 也给ID赋值了 也有ruant 查看源文件也生产了,但是我在后台查找空间的时候FindControl(); 找不到 怎么回事??那位大侠知道原因? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你确定你生成的源文件中的控件名和你的findcotrol中的一样吗? 源码是这样的:页面: <form id="form1" runat="server"> <div id="HtmlDiv" runat="server"> </div> <asp:Button ID="Button1" runat="server" Text="Button" onclick="Button1_Click" /> </form>后台: protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { CheckBox ch = new CheckBox(); ch.ID = "cha"; ch.Text = "第一个"; this.HtmlDiv.Controls.Add(ch); } } protected void Button1_Click(object sender, EventArgs e) { CheckBox chk = (CheckBox)this.HtmlDiv.FindControl("cha"); }现在那个chk 总是null 怎么回事哦?? 你改到 CreateChildControls 里面初始化试试 protected override void CreateChildControls() { base.CreateChildControls(); CheckBox ch = new CheckBox(); ch.ID = "cha"; ch.Text = "第一个"; this.HtmlDiv.Controls.Add(ch); } 楼上的 用你的这种方法成功了 是什么原因呢? 还有 到后面我需要的是有个点击事件后才动态添加这个checkbox 现在这个是初始就有了 怎么解决呢? http://msdn.microsoft.com/zh-cn/library/system.web.ui.control.createchildcontrols.aspx总的来说是asp.net 生命周期的问题, 具体意思你可以看msdn。另外你说 checkbox 要点击按钮创建 然后呢点击另一个按钮读取? 嗯 是的 ! 我刚才用 比如:点击按钮1 创建了checkbox 然后点击按钮2 但是就findcontrol不到这个checkbox了 好像代码:CheckBox chk = (CheckBox)this.HtmlDiv.FindControl("cha");直接放在 Page_Load 中也可以找到 va2008安装需要多大硬盘空间啊?24G还不够? 求解答 什么是RUBY.他有什么作用?能和.net结合么? gridview按钮列在换行,排序之后内容消失 c# 怎么做才能做浏览器的插件工具条 [求助~~]关于如何实现光标移入文本框,显示说明信息 aspx.vb 里面的变量 为什么选择DropDownList的列表项DataGred绑定的值没有变化? 怎样在datagrid 中设置动态数据源?up--- 有分!! 请问如果在一个类文件里读写COOKIES呢?? 正则替换的问题 关于弹窗问题,在线等
页面:
<form id="form1" runat="server">
<div id="HtmlDiv" runat="server">
</div> <asp:Button ID="Button1" runat="server" Text="Button" onclick="Button1_Click" />
</form>
后台:
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
CheckBox ch = new CheckBox();
ch.ID = "cha";
ch.Text = "第一个";
this.HtmlDiv.Controls.Add(ch);
}
}
protected void Button1_Click(object sender, EventArgs e)
{
CheckBox chk = (CheckBox)this.HtmlDiv.FindControl("cha");
}
现在那个chk 总是null 怎么回事哦??
base.CreateChildControls();
CheckBox ch = new CheckBox();
ch.ID = "cha";
ch.Text = "第一个";
this.HtmlDiv.Controls.Add(ch);
}
总的来说是asp.net 生命周期的问题, 具体意思你可以看msdn。
另外你说 checkbox 要点击按钮创建 然后呢点击另一个按钮读取?
直接放在 Page_Load 中也可以找到