在页面中,在load事件中,我动态创建控件以在页面上显示。这一切都正常。我遇到的麻烦是从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)
答案 0 :(得分:2)
您需要将“editRoundedCorners”添加到页面或容器,控件集合中,因此请尝试添加以下行:
Controls.Add(editRoundedCorners)
就在“将它们添加到页面控件集合”之前,因为您可能只是添加了编辑按钮,而两者都是必需的。
答案 1 :(得分:2)
我正在使用C#,所以我将使用该语法。
正如Rob所说,您需要将Extender添加到页面中。您可以通过以下方式执行此操作:
*parentCtrl*.Controls.Add(*extendername*);
或者
*controltype* *controlname* = (*controltype*)Page.LoadControl(typeof(*controltype*), new object[]{});
如果要将参数传递给控件,请将它们放在对象数组中。
答案 2 :(得分:1)
您不能将RoundedCornersExtender应用于输入TextBox或Buttons等元素。