喂,
最近我在varous网站和博客上阅读了几篇文章,其中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上添加了事件,我也从来没有遇到过这个代码的问题。当然,转发器控制可以达到相同的效果,但我想知道为什么(或者更好)使用转发器。
如果我使用转发器会有什么好处?
由于
答案 0 :(得分:0)
中继器很容易绑定到数据源。
答案 1 :(得分:0)
人, 你最好使用转发器或者更好地在Net 3.5中使用listvew,为什么? - 因为它很容易数据绑定到任何数据源,使用Eval来控制它内部的控件。 - 你得到很多你喜欢的模板,当数据库没有返回结果时我会使用它很多,你可以在这里发一条消息通知用户而不是显示空白屏幕。 - 你可以控制渲染,你想要的表格,Div,UL,你只需要命名它。
我强烈建议投资新的列表视图以重复内容。
希望这会有所帮助