0

ページでは、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 です)

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

TextBox や Buttons などの入力要素に RoundedCornersExtender を適用することはできません。

于 2008-10-14T14:12:00.400 に答える