Как создать пользователя/управление сервером ASP.NET, который использует список asp:ListItem как дочерние элементы управления?

Если вы хотите, чтобы GCF в проекте-a считывал из GCS ведро "bucket-b" в проекте-b. Затем предоставьте PROJECT-B@appspot.gserviceaccount.com разрешение IAM storage.objectViewer в проекте b (или конкретно в bucket-b).

9
задан slolife 17 June 2011 в 21:24
поделиться

2 ответа

Вы можете добавить свойство к коду пользовательского элемента управления, например:

[PersistenceMode(PersistenceMode.InnerProperty)]
public List<ListItem> Items
{
    get;
    set;
}

Ваша разметка будет:

<my:MyListControl runat="server">
  <Items>
    <asp:ListItem/>
  </Items>
</my:myListControl>

Чтобы сделать так, чтобы ListItem мог быть вашим собственным элементом списка (который я рекомендую делать в отличие от использования asp.net.) Вы захотите создать свой собственный класс.

Вот пример управления сервером, который я использую (я удалил много шума, так как это всего лишь скелет):

   [ToolboxData("<{0}:Menubar runat=server></{0}:Menubar>")]
    [System.ComponentModel.DesignTimeVisible(false)]
    public class Menubar : WebControl, IPostBackEventHandler
    {

        private List<MenuItem> _menuItems = new List<MenuItem>();
        [PersistenceMode(PersistenceMode.InnerProperty)]
        public List<MenuItem> MenuItems
        {
            get
            {
                return _menuItems;
            }
        }

    }
    [ToolboxItem(false)]
    [ParseChildren(true, "MenuItems")]
    public class MenuItem
    {
        private string _clientClick;
        private List<MenuItem> _menuItems = new List<MenuItem>();

        [Localizable(true)]
        public string Title { get; set; }
        public string Href { get; set; }
        public string Id { get; set; }
        [PersistenceMode(PersistenceMode.InnerDefaultProperty)]
        public List<MenuItem> MenuItems
        {
            get { return _menuItems; }
            set { _menuItems = value; }
        }
    }

Теперь я могу использовать это как:

<my:Menubar runat="server" ID="menuBar">
    <MenuItems>
        <my:MenuItem Title="Save" Href="javascript:saveItem(this);"  />
        <my:MenuItem Title="Print" Href="javascript:void(0);">
            <MenuItems>
                <my:MenuItem Title="Preview" Href=""/>
                <my:MenuItem Title="To Pdf" Href="javascript:"/>
            </MenuItems>
        </my:MenuItem>
    </MenuItems>
</my:Menubar>
11
ответ дан 4 December 2019 в 20:24
поделиться

Используйте asp: Repeater, а затем привяжите его к списку объектов, которые вы хотите в своей хлебной крошке. Вы можете использовать шаблон для настройки самих элементов и разделителей.

0
ответ дан 4 December 2019 в 20:24
поделиться
Другие вопросы по тегам:

Похожие вопросы: