Задача — разработать пользовательский элемент управления, который имеет ‹%#Bind("выражение")%>`
Как отправить параметры в пользовательский контроль и как использовать Bind и Eval?
Задача — разработать пользовательский элемент управления, который имеет ‹%#Bind("выражение")%>`
Как отправить параметры в пользовательский контроль и как использовать Bind и Eval?
Существует хорошее руководство по созданию пользовательских элементов управления и настройке их свойств в эту статью MSDN.
По сути, вы создаете страницу 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() — общедоступный или защищенный метод на вашей странице кода, который возвращает дату.
Вы можете просмотреть эту статью, где подробно описаны основы привязки данных.