グリッドをオーバーライドして、いくつかの顧客機能を追加しています。機能の1つは、ページサイズを調整するためのドロップダウンです。カスタマーサーバーコントロールを使用してグリッドを拡張しています。これは、これまでに行ったことに対して非常に効果的です。ただし、動的に追加されたコントロールにポストバックを実行させるのに少し問題があります。ポストバックを開始するためのJavaScriptが存在しません。
Protected Overrides Sub OnPreRender(ByVal e As System.EventArgs)
Dim pageSizePanel As New Panel
...
Dim countList As List(Of String) = GetCountList()
Dim pageSizeDropdown As New DropDownList()
pageSizeDropdown.ID = "pageSizeDropdown"
pageSizeDropdown.DataSource = countList
pageSizeDropdown.DataBind()
AddHandler pageSizeDropdown.SelectedIndexChanged, _
AddressOf HandlePageSizeChange
pageSizePanel.Controls.Add(pageSizeDropdown)
...
MyBase.Controls.AddAt(0, pageSizePanel)
MyBase.OnPreRender(e)
End Sub
HTMLは
<select name="tab$grid1Tab$RadGrid1$pageSizeDropdown"
id="tab_grid1Tab_RadGrid1_pageSizeDropdown">
<option selected="selected" value="10">10</option>
<option value="20">20</option>
<option value="40">40</option>
<option value="80">80</option>
<option value="All">All</option>
</select>
それで、これは私がコントロールを「注入」しているときと関係がありますか?コントロールの動的な追加と関係がありますか?