وأضاف حيوي السيطرة لا تفعل إعادة النشر
-
08-07-2019 - |
سؤال
وأنا تجاوز على الشبكة، إضافة بعض الميزات العملاء. واحدة من السمات هي القائمة المنسدلة لضبط حجم الصفحة. أنا توسيع الشبكة باستخدام عنصر تحكم ملقم العملاء، والذي يعمل كبيرة على ما قمت به حتى الآن. الآن، ومع ذلك أواجه قليلا من صعوبة في الحصول على السيطرة المضافة حيوي للقيام إعادة النشر. جافا سكريبت لبدء إعادة النشر غير موجود.
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>
وهكذا، لا يجب أن نفعل هذا مع انا عندما 'حقن' الضوابط؟ هل لها علاقة مع إضافة حيوية للضوابط؟
المحلول
وأول شيء لاحظته كان تريد ان تكون في عداد المفقودين هذا:
pageSizeDropdown.AutoPostBack = true
ولكن لست متأكدا إذا كان هذا هو كل ما تحتاجه من أجل أن تعمل
نصائح أخرى
وتحتاج إلى تعيين "AutoPostBack" إلى true لقائمة منسدلة لإعادة النشر. وإلا فإن عنصر تحكم آخر أن نشر النموذج مرة أخرى (ومع ذلك، فإن الحدث SelectedIndexChanged النار عند ذلك لم يحدث).
وأعتقد أن هناك حاجة إلى خلق والحدث التوصيل في دورة حياة الصفحة في وقت سابق pageSizeDropdown السيطرة، انظر> وأ href = "http://msdn.microsoft.com/en-us/library/ms178472.aspx" يختلط = "نوفولو noreferrer"> http://msdn.microsoft.com/en-us/library/ms178472.aspx . تحتاج السيطرة المضافة حيوي المراد إنشاؤها قبل صفحات الحدث LoadComplete بحيث الحدث سيطرتها ويمكن اطلاق النار.