如何获取页面上容器里的子控件?

startray 2011-03-07 10:31:50
页面构造是这样的:
最外面是母版页,叫ContentPlaceHolder1
第二层是:repeater
叫:repeater1
最里面是一个:button

共有十个页面,其中一个页面是这样的构造。我需要在每个页面加载时去判断当前这个页面是否有这个按钮,如果有,则设为不可用。
如何做?我的想法是写个页面基类,在页面加载时,去找该控件,但我现在发现用ControlCollection的FindControl用name能找到该控件,但用它的ID就找不到。这个name与ID我都是在生成的html里找到,再测试的。
...全文
141 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
子夜__ 2011-05-14
  • 打赏
  • 举报
回复
一层一层findcontrol
cheng12527 2011-05-13
  • 打赏
  • 举报
回复
加了runnat属性可以FIND到。不加则在表单里找
startray 2011-03-07
  • 打赏
  • 举报
回复
楼上,我用c#写,不使用js
我现在就是c#写的,是一层一层的找,但就是用它的ID找不到,但用NAME却能找到?为什么?好奇怪

  • 打赏
  • 举报
回复
YourContro.ClinetID 表示改控件在展现为html后的 id

如果你要自己用js
可以用ClientID来得到
比如:

<script>
function check(){
var box = ' <%= YourTextBox.ClientID%> ';
if(document.getElementById(box).value.lehgth <5){
window.alert( '不能少于5位阿 ');
}
}
</script>
chen_ya_ping 2011-03-07
  • 打赏
  • 举报
回复
一层一层的找,不就可以了 啊?
huangwenquan123 2011-03-07
  • 打赏
  • 举报
回复

public class Class1 : System.Web.UI.Page
{
public void Enabled(Repeater rep)
{
foreach (RepeaterItem item in rep.Items)
{
Button btn = item.FindControl("Button1") as Button;
if (btn != null)
btn.Enabled = false;
}
}
}
public partial class _Default : Class1
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
Repeater1.DataSource = getTable();
Repeater1.DataBind();
Enabled(Repeater1);
}
}
}
huangwenquan123 2011-03-07
  • 打赏
  • 举报
回复

//喔 知道了 在内容页
if (!IsPostBack)
{
Repeater1.DataSource = getTable();
Repeater1.DataBind();
foreach (RepeaterItem item in Repeater1.Items)
{
Button btn = item.FindControl("Button1") as Button;
if (btn != null)
btn.Enabled = false;
}
}
ZhuZhuYuXiang 2011-03-07
  • 打赏
  • 举报
回复
foreach(RepeaterList item in repeater1.Items)
{

Button bu=(Button)item.controls[0].FindControl('buttonId');
}
huangwenquan123 2011-03-07
  • 打赏
  • 举报
回复
Repeater在母版页还是内容页中?
startray 2011-03-07
  • 打赏
  • 举报
回复
在客户端ID是这样的:ContentPlaceHolder1_Rep_Center_btndel_1 ,ContentPlaceHolder1_Rep_Center_btndel_2.。。name是这样的:ctl00$ContentPlaceHolder1$Rep_Center$ctl00$btndel ctl00$ContentPlaceHolder1$Rep_Center$ctl01$btndel

62,047

社区成员

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

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

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

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