Допустим, у меня есть строка, которую я извлекаю из БД, например:
"Lorem ipsum dolor sit amet, constetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et {{Hyperlink | navigateurl = '/ foo. aspx '}} dolore magna aliquyam ".
Эта строка теперь может быть назначена свойству Text метки.
Я хочу проанализировать {{Hyperlink | navigateurl = '/ foo.aspx'}} и заменить его на
<asp:HyperLink ID="IDLink" runat="server" Text="foo" NavigateUrl="/foo.aspx"/>
и назначьте метке весь текст, включая HyperLink-Control.
Это вообще возможно? Я думаю, что мог бы использовать отражение для создания элемента управления и установки свойств. (HyperLink-Control был просто примером) Но могу ли я вставить элемент управления asp.net обратно в строку, чтобы обеспечить отображение гиперссылок как серверный contorl?
Надеюсь, вы понимаете, чего я хочу. Если нет, не стесняйтесь оставлять комментарии.
Редактировать1:
что вы имеете в виду, говоря «назначить метке весь текст, включая HyperLink-Control»? не могли бы вы объяснить причину этого?
Я думаю, что не получится назначить элемент управления в строку, потому что элемент управления asp.net не может быть помещен в строку.
Поразмыслив, я нашел способ достичь своей цели. Это было бы для создания заполнителя (я называю его A). Там будет добавлен элемент управления Literal. Вдобавок я бы создал заполнитель (я назвал его B), добавил свою гиперссылку в B и добавил A в B. Но я думаю, что это способ переборщить.
Причина, по которой я начал думать об этом, заключалась в том, чтобы получить доступ к Server.MapPath без замены вхождений в строке. Я хочу иметь возможность использовать в своей CMS относительные пути, которые отображаются как свойство NavigateUrl из гиперссылки. Тем не менее, я думаю, что мой вопрос о динамическом создании стоит задуматься.
"assign the whole text including the HyperLink-Control to the Label."
? не могли бы вы объяснить причину этого? - person Asad   schedule 28.02.2010