タスク – <%#Bind(“expression”)%>` を持つユーザー コントロールを開発する
どのようにパラメーターをユーザー コントロールに送信し、どのように Bind と Eval を使用しますか?
タスク – <%#Bind(“expression”)%>` を持つユーザー コントロールを開発する
どのようにパラメーターをユーザー コントロールに送信し、どのように Bind と Eval を使用しますか?
この MSDN Articleには、ユーザー コントロールの作成とそのプロパティの設定に関する優れたチュートリアルがあります。
基本的に、ascx ページとそのコード ビハインドを作成します。コード ビハインドでは、公開するプロパティを作成し、ViewState を使用してその値を保存します。この記事で説明する理由により、プロパティ バッキング ストアがビューステートであることが重要です。
public partial class MyControl : System.Web.UI.UserControl
{
public DateTime BeginDate
{
get { return (DateTime)(ViewState["BeginDate"] ?? new DateTime()); }
set { ViewState["BeginDate"] = value; }
}
......
この新しいユーザー コントロールを web.config ファイルに登録した後、ホスティング ページにコントロールのインスタンスを宣言的に配置し、そのプロパティを設定できます。
<Custom:MyControl Id="Mycontrol" runat="server" BeginDate ="2012-01-26" />
データ バインディングを使用してコントロールの値を設定する場合は、プロパティの値をデータ バインディング式に代入するだけです。
<Custom:MyControl Id="Mycontrol" runat="server" BeginDate ='<%# GetBeginDate() %>' />
GetBeginDate() は、コード ビハインド ページ内の日付を返すパブリック メソッドまたは保護されたメソッドです。
データバインディングの基本については、この記事を参照してください。