c# でユーザー コントロールを読み込もうとしています。
以下のコードを使用して、.aspx ページに .ascx を追加できます。
Control MyUserControl;
MyUserControl = LoadControl("~/controls/Editor.ascx");
PlaceHolder1.Controls.Add(MyUserControl);
ただし、 IDを Editor.ascxに渡したいのですが、Editor.ascx の上部には次のコードが含まれています。
private int m_id = 0;
public int ID
{
get { return m_id; }
set { m_id = value; }
}
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack && !Page.IsCallback)
{
using (DataClassesDataContext db = new DataClassesDataContext())
{
TB_Editor.Text = db.DT_Control_Editors.Single(x => x.PageControlID == ID).Text.Trim();
}
}
}
ID にアクセスできるように、コントロールをユーザー コントロールにキャストしてみました。以下を参照してください。
UserControl Edit = (UserControl)MyUserControl;
しかし、キャストエラーが発生します。
何か案は?