2016-04-11 8 views
0

Bir DropDownList [] özelliği oluşturmaya çalışıyorum ve görünüm durumundan get-set değerleri (amaç, geri sarma sırasında dinamik açılır liste değerlerini korumaktır, tüm bu dinamik açılırlar var) olay ilişkili Selectedındexchanged, benim kod aşağıdaki gibidir:DropDownList [] array özelliği görüntüleme durumunda kalma durumu

Ben gibi bir değeri paraflayarak am
private DropDownList[] MyDDLArray 
    { 
     get 
     { 
      var value = ViewState["MyDDLArray"]; 
      return (DropDownList[])value; 
     } 
     set 
     { 
      ViewState["MyDDLArray"] = value; 
     } 
    } 

:

MyDDLArray[0] = new DropDownList(); 

alıyorum hata "System.NullReferenceException: örneğine ayarlanmadı nesne referansı bir nesne "

+0

İki farklı anahtara erişiyorsunuz: “MyDDLArray” ve “SelectedUser”. Neden ayarlamamda 'MyDDLArray 'kullanmayı denemiyorsun? :) – Nino

+0

@Nino, sorumu gönderirken bir yazım hatasıydı, yine de hayır şansı :( – Gaurav

cevap

2

sorununuzu çözmek için tek yapmanız gereken boş değerler işlemek gerekir: Eğer ürün sayısını sabit sürece

Yan not
private DropDownList[] MyDDLArray 
{ 
    get 
    { 
     if (ViewState["MyDDLArray"] == null) ViewState["MyDDLArray"] = new DropDownList[limit]; 
     return (DropDownList[])ViewState["MyDDLArray"]; 
    } 
    set 
    { 
     ViewState["MyDDLArray"] = value; 
    } 
} 

, Diziler iyi değildir. Diziyi yeniden boyutlandırma zahmetine sahip olmadığınız diğer durumda bir List düşünün.