Dynamisch hinzugefügt keine Kontrolle Postbacks zu tun
-
08-07-2019 - |
Frage
Ich bin überschreiben ein Gitter, das Hinzufügen einiger Kunden Funktionen. Eines der Merkmale ist ein Drop-Down-Seitengröße anzupassen. Ich bin zur Verlängerung des Gitters eines Kunden-Server-Steuerelement verwenden, die für die großen Werke, was ich bisher gemacht habe. Nun aber ich ein wenig Mühe habe das dynamisch hinzugefügt Kontrolle zu bekommen ein Postback zu tun. Die Javascript, um die Postbacks zu initiieren ist nicht vorhanden.
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
Der HTML-Code ist
<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>
Also, hat dies mit dem zu tun, wenn ich die Kontrollen ‚Injektion‘? Hat es mit dynamischer Zugabe der Kontrollen zu tun?
Lösung
Das erste, was mir auffiel, war würden Sie vermissen diese:
pageSizeDropdown.AutoPostBack = true
, aber ich bin nicht sicher, ob das alles, was Sie brauchen für sie
arbeitenAndere Tipps
Sie müssen „Autopostback“ auf true für eine Dropdown-Liste auf Postbacks setzen. Andernfalls wird eine andere Steuerung die Form wieder schreiben (aber das SelectedIndexChanged-Ereignis wird ausgelöst, wenn das geschieht).
ich glaube, die Steuer pageSizeDropdown müssten geschaffen werden, und das Ereignis zu Beginn des Lebenszyklus Seite angeschlossen finden Sie unter http://msdn.microsoft.com/en-us/library/ms178472.aspx . Die dynamisch hinzugefügt Kontrolle muss vor den Seiten Loadcomplete-Ereignisse geschaffen werden, so dass sein Steuer Ereignis auslösen kann.