Можно ли программно добавить ASP.NET AJAX Extensions на страницу (на стороне сервера)? - PullRequest
0 голосов
/ 09 октября 2008

На странице в событии загрузки я динамически создаю элементы управления для отображения на странице. Это все работает правильно. Проблема, которую я испытываю, заключается в добавлении расширителей из набора инструментов управления AJAX, в частности, я пытаюсь добавить закругленные углы в элемент управления кнопки. Не выдается никаких ошибок, но функция расширения AJAX не отображается на отображаемой странице.

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

Dim container As HtmlGenericControl
Dim edit As Button
Dim editRoundedCorners As AjaxControlToolkit.RoundedCornersExtender 

For each item in items
            container = New HtmlGenericControl("div")
            container.ID = "container_" & item.code

            edit = New Button()
            edit.ID = "edit_" & item.code
            edit.Text = "Edit"
            edit.Style("padding") = "0 0 0 4px"
            edit.SkinID = "smallEditButton"

            editRoundedCorners = New AjaxControlToolkit.RoundedCornersExtender()
            editRoundedCorners.BorderColor = edit.BorderColor
            editRoundedCorners.ID = edit.ID & "_RoundedCorners"
            editRoundedCorners.Corners = AjaxControlToolkit.BoxCorners.All
            editRoundedCorners.Radius = 3
            editRoundedCorners.TargetControlID = edit.ID

            container.Controls.Add(editRoundedCorners)
            container.Controls.Add(edit)
            pageContainer.Controls.Add(container)
Next

(pageContainer - это div на странице)

Ответы [ 3 ]

2 голосов
/ 10 октября 2008

Я использую C #, поэтому я буду использовать этот синтаксис.

Как сказал Роб, вам нужно добавить расширитель на страницу. Вы можете сделать это:

*parentCtrl*.Controls.Add(*extendername*);

или, альтернативно

*controltype* *controlname* = (*controltype*)Page.LoadControl(typeof(*controltype*), new object[]{});

Если вы передаете параметры в элемент управления, поместите их в массив объектов.

2 голосов
/ 09 октября 2008

Вам необходимо добавить «editRoundedCorners» на страницу или контейнеры, коллекцию Controls, поэтому попробуйте добавить строку:

Controls.Add(editRoundedCorners)

как раз перед тем, как «добавить их в коллекцию элементов управления страницей», поскольку вы можете только добавить кнопку редактирования, в то время как оба требуются.

1 голос
/ 14 октября 2008

Вы не можете применить RoundedCornersExtender к элементам ввода, таким как TextBox или Buttons.

...