[ASP.NET]コードが正しくバインドされていることを確認

1230 ワード

コントロールの属性を<%#%バインドすると、このコントロールを呼び出す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();
}