Встроенный код в пункте меню ASp.Net - PullRequest
1 голос
/ 06 апреля 2009

Кто-нибудь знает, если это способ установить свойства дочерних атрибутов элемента управления с помощью встроенного кода? Я имею в виду что-то подобное

        <asp:MenuItem Text="text" NavigateUrl='<%# GetItemURL("val") %>' ></asp:MenuItem>

CodeBehind

        protected string GetItemURL(string tag)
        {
            if (string.IsNullOrEmpty(_pageUrl))
                _pageUrl = UrlManager.CastQueryString(Request.Url.ToString());            
            return string.Format("{0}?item={1}", _pageUrl, tag);
        }

Ни один из подходов не работает, что бы вы ни использовали <% #, <% =, Page.DataBind () и т. Д., Вы получите препятствие. </p>

Было бы очень некрасиво устанавливать такие свойства в коде. Надеюсь, какой-то метод, позволяющий устанавливать такие свойства в блоках рендеринга кода, доступен

спасибо заранее.

1 Ответ

0 голосов
/ 05 мая 2009

Ваш синтаксис привязки правильный. Вам просто нужно убедиться, что что-то связывает родителя элемента управления <asp:MenuItem>. Вы даже можете просто запустить this.Page.Databind();, если уже нет хорошего контекста привязки данных.

...