Veri yolu kılavuzlu basit bir ASP sayfam var (bir nesne kaynağına bağlı). Izgara bir sihirbazın sayfası içinde yer alır ve her satır için bir 'seç' onay kutusuna sahiptir. Sihirbazın bir aşamadaGridView, geri göndermeler arasındaki durumu hatırlamıyor
, ben GridView bağlamak:
protected void Wizard1_NextButtonClick(object sender, WizardNavigationEventArgs e)
{
...
// Bind and display matches
GridViewMatches.EnableViewState = true;
GridViewMatches.DataSource = getEmailRecipients();
GridViewMatches.DataBind();
Ve bitiş butonuna tıklandığında, ben satırları arasında yineleme ve seçilenlere kontrol edin:
protected void Wizard1_FinishButtonClick(object sender, WizardNavigationEventArgs e)
{
// Set the selected values, depending on the checkboxes on the grid.
foreach (GridViewRow gr in GridViewMatches.Rows)
{
Int32 personID = Convert.ToInt32(gr.Cells[0].Text);
CheckBox selected = (CheckBox) gr.Cells[1].FindControl("CheckBoxSelectedToSend");
Ama en bu aşama GridViewMatches.Rows.Count = 0! Izgarayı yeniden bağlamadım, ihtiyacım olmamalı, değil mi? Görüşün devleti korumasını beklerim. (Ayrıca, kılavuzu yeniden yönlendirirsem, seçim onay kutuları temizlenir)
NB: Bu sayfa ayrıca kullanıcı denetimlerini OnInit yönteminde dinamik olarak ekler. Ben görüş durumu ile karışıklık olabilir duydum, ama bunu söyleyebilirim, doğru olarak yapıyorum ve bu eklenen kontroller için görünüm gibi görünüyor görünüyor (değerler geri göndermeler arasında devam ediyor)
Çok teşekkürler herhangi bir yardım için avans!
Ryan
GÜNCELLEME: Bu programlama veri kaynağı kuruyorum gerçeği ile olabilir mi? Asp motoru, sayfa yaşam döngüsü sırasında ızgarayı henüz tanımlanmamış bir veri kaynağına bağlayıp bağlamadığını merak ettim. (Bir test sayfasında, GridView 'otomatik' databound'dur. Kılavuzun yeniden bağlanmasını istemiyorum Sadece önceki yayındaki görünümden değerleri istiyorum!
Ayrıca, asp başlığı: viewStateEncryptionMode = "Hiçbir zaman" - şöyle bu arada bir 'geçersiz Görünüm durumu MAC doğrulaması' mesajı Başvuru için
çözmek için, benim GridView tanımlanır:
<asp:GridView ID="GridViewMatches" runat="server" AllowSorting="True" AutoGenerateColumns="False"
BackColor="White" BorderColor="#E7E7FF" BorderStyle="None" BorderWidth="1px" CellPadding="3"
OnDataBinding="GridViewMatches_OnBinding">
<Columns>
<asp:BoundField DataField="PersonID"><ItemStyle CssClass="hidden"/></asp:BoundField>
<asp:TemplateField>
<ItemTemplate>
<asp:CheckBox ID="CheckBoxSelectedToSend" runat="server"
Checked='<%# DataBinder.Eval(Container.DataItem, "SelectedToSend") %>'/>
</ItemTemplate>
...
numaralı soruya ekledim. Teşekkür ederim. Teşekkür ederim. Bin kere, teşekkürler. Bana bir sürü baş ağrısını kurtardın. Bu arada, aynı sorun Page_Init'ten de geliyor. – jwd