0

在页面中,在加载事件中,我正在动态创建用于在页面上显示的控件。这一切都正常工作。我遇到的麻烦是从 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)

4

3 回答 3

2

您需要将“editRoundedCorners”添加到页面或容器、Controls 集合中,因此请尝试添加以下行:

Controls.Add(editRoundedCorners)

就在“'将它们添加到页面控件集合”之前,因为您可能只添加了编辑按钮,而两者都是必需的。

于 2008-10-09T12:28:39.390 回答
2

我正在使用 C#,所以我将使用该语法。

正如 Rob 所说,您需要将 Extender 添加到页面中。您可以通过以下方式做到这一点:

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

或者,或者,

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

如果要将参数传递给控件,​​请将它们放入对象数组中。

于 2008-10-09T22:05:53.390 回答
1

您不能将 RoundedCornersExtender 应用于文本框或按钮等输入元素。

于 2008-10-14T14:12:00.400 回答