你好,
最近,我在各种网站和博客上阅读了几篇文章,其中 ASP.NET Repeater 是经验丰富的程序员最常用和接受的一种。有人实际上写道,如果他提到他经常在工作面试中使用此控件,他会更好地考虑 asp.net 程序员。我很少使用它的事实可能使我成为初学者:) 这是我在需要动态重复一些控制时使用的实现。
public class MyUserControl:UserControl
{
LocalizedCheckBox chb;
LocalizedLabel lbl;
TextBox txt;
public MyUserControl()
{
//Instantiate controls
//do something with them
}
public bool Checked
{
get{ return chb.Checked;}
}
public string Text
{
get{ return txt.Text; }
}
}
public partial class MyParentControl : System.Web.UI.UserControl
{
protected void Page_Load(object sender, EventArgs e)
{
//
}
protected override void OnInit(EventArgs e)
{
base.OnInit(e);
foreach('something')
{
MyUserControl ctr = new MyUserControl();
ctr.Text="some value";
ctr.Checked= false;
this.Panel1.Controls.Add(ctr);
}
}
protected void btn_Click(object sender, EventArgs e)
{
foreach (MyUserControl dControl in this.Panel1.Controls.OfType<MyUserControl>())
{
//do something
string text = dControl.Text;
}
}
}
即使我在 MyUserControl 上添加了事件,我也从未遇到过此代码的问题。当然,使用中继器控制也可以达到同样的效果,但我想知道为什么(或者是否)更好地使用中继器。
如果我改用中继器有什么好处?
谢谢