当给某个控件的某个属性,通过<%#%绑定后,一定要记得调用这个控件的DataBInd()方法,否则这个绑定是不起作用的。
[DefaultProperty("Text")]
[ToolboxData("<{0}:ServerControl1 runat=server></{0}:ServerControl1>")]
public class ServerControl1 : WebControl
{
[Bindable(true)]
[Category("Appearance")]
[DefaultValue("")]
[Localizable(true)]
public string Text
{
get
{
String s = (String)ViewState["Text"];
return ((s == null) ? "[" + this.ID + "]" : s);
}
set
{
ViewState["Text"] = value; //如果不调用这个控件的DataBind()方法,这行代码不会执行
}
}
protected override void RenderContents(HtmlTextWriter output)
{
output.Write(Text);
}
}<cc1:ServerControl1 ID="ServerControl1" runat="server" Text='<%# Request.QueryString["key"] %>' />protected void Page_Load(object sender, EventArgs e)
{
ServerControl1.DataBind();
}
本文介绍了在ASP.NET中如何正确地使用数据绑定,并强调了在设置控件属性后调用DataBind()方法的重要性。通过示例展示了如果没有调用DataBind()方法,则绑定将无效。
72

被折叠的 条评论
为什么被折叠?



