[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();
}