#c# #asp.net #code-behind
#c# #asp.net #код, лежащий в основе
Вопрос:
Я пытаюсь назначить источник данных списку флажков внутри шаблона для моего элемента управления DetailsView.
private class membershipChkLst : ITemplate
{
private CheckBoxList chk_lst_Members;
public membershipChkLst()
{
chk_lst_Members = new CheckBoxList();
}
public object AssignDataSource
{
get { return this.chk_lst_Members.DataSource; }
set { this.chk_lst_Members.DataSource = value; }
}
public void InstantiateIn(Control container)
{
if (container != null)
{
container.Controls.Add(chk_lst_Members);
}
}
}
Правильный ли синтаксис, или я делаю это неправильно?
Комментарии:
1. Я бы не стал вызывать свойство
AssignDataSource
, поскольку это подразумевает скорее имя метода.2. Почему бы вам не передать источник данных в качестве аргумента?
3. @R0MANARMY — Аааа… Я все еще работаю над своим подходом, поскольку это моя первая попытка. XD @V4Vendetta — Это было бы проще… Я слишком много думаю…
Ответ №1:
Что-то вроде этого
public membershipChkLst(DataTable dt)
{
chklst = new CheckBoxList();
chklst.ID = "chklstid";
chklst.DataSource = dt;
chklst.DataBind();
}
Передайте требуемый вами источник данных (я добавил DataTable просто для показа), и это помогло бы достичь того, чего вы хотите.
Комментарии:
1. Я понимаю… Это также сэкономило бы строку для использования DataBind после создания экземпляра шаблона…
2. Я еще не смог протестировать его. Я работаю над этим другим проектом, используя ASP.NET MVC 2. Извините, я обновлю вас, как только это сработает, и отмечу ваш пост как ответ. =)