2009-03-08 15 views
0

özel bir web denetimi içine doğru oluşturulmuyorsalinkbutton ben</p> <p>özel denetimi 1 kurmak aşağıdaki seçeneklerin

MyListItemControl bir Masası'ndan devralan MyListItemControl yüzden bu yazabilirsiniz:

<cc1:MyListControl ID="MyListControl1" runat="server"> 
    <ListItems> 
     <cc1:MyListItemControl ID="MyListItemControl1" runat="server" CustomProperty="1"> 
      <asp:LinkButton ID="LinkButton1" runat="server" CommandName="Edit">Edit</asp:LinkButton> 
     </cc1:MyListItemControl> 
    </ListItems> 
</cc1:MyListControl> 

Hata alıyorum ve Denetim düzgün çalışmıyor. Bir formview içine yerleştirilmiş, yukarıdaki kod, linkbutton hale alır hepsi bu

<a id="LinkButton1">Edit</a> 
bu oluyor ve linkbutton o zamanki gibi işlenir değil neden

bilen var mı? PostBack senaryoyu almaz

TIA

Andrew

cevap

0

Bana göre, ASP.Net'te ebeveyninin Controls koleksiyonundaki LinkButton düzeniyle ilgili bir hata gibi görünüyor. (LinkButton'a ilk yani, sadece burada yukarıdaki kontrolleri ekliyorum sırasını ters)

<span id="ctl00_PlaceHolderMain_ads1"><h1>This is a custom control</h1><span>Current Web's Url: http://arielki03:9999/sites/ads</span><a href="javascript:__doPostBack('ctl00$PlaceHolderMain$ctl01','')">Click here</a></span> 

Ama bu pasajı:

Bu pasajı:

protected override void OnLoad(EventArgs e) 
    { 
     // show some data 
     _l = new Label(); 
     _l.Visible = false; 
     _l.Text = "Current Web's Url: " + SPContext.Current.Web.Url; 
     Controls.Add(_l); 

     // add a button with some processing 
     _lb = new LinkButton(); 
     _lb.Text = "Click here"; 
     _lb.Click += new EventHandler(_lb_Click); 
     Controls.Add(_lb); 
    } 

bu HTML üretir

protected override void OnLoad(EventArgs e) 
    { 
     // add a button with some processing 
     _lb = new LinkButton(); 
     _lb.Text = "Click here"; 
     _lb.Click += new EventHandler(_lb_Click); 
     Controls.Add(_lb); 

     // show some data 
     _l = new Label(); 
     _l.Visible = false; 
     _l.Text = "Current Web's Url: " + SPContext.Current.Web.Url; 
     Controls.Add(_l); 
    } 

Ne kontrol göstermiyor !!!

Sorun, Ebeveyn Denetimleri koleksiyonunda ilk olan LinkButton ile ilgili gibi görünüyor. Geçici çözüm: Boş bir Label ekleyin, bundan önce çalışacak :-)

0

oluşturulan html başka bir yerde bazı kimlik adı çakışması alıyor musunuz?

Kontroller, tekrarlayıcı içinde bulunduğundan LinkButton1 adının karışık sürümüne sahip olmalıdır?

+0

İsim çakışması yok –

+0

P.s Konuştuğunuz Mangled sürümü, bir IDE'ye tekrarlayıcı gibi bir INamingContainer içinde benzersiz bir hiyerarşik yapıdır. Yinelenen kontrol kullanmıyorum ama ?? –

+0

Üzgünüz, bunu MyListControl/MyListItemControl'den ima ettim? Bu, varsayılan liste denetimi ile çalışır mı? – TFD

0

Bunun biraz eski olduğunu anlıyorum, ama benim durumumda da aynı sorun ve düzeltmeye rastladım. Umarım bu soruda gerçekleşen başka birine yardımcı olur.

Sorun benim için LinkButton'u, sunucu kontrolümün Controls koleksiyonuna eklemem (LinkButton'un ana denetimi) idi. Bu konuya niçin neden verildiği konusunda ayrıntılara çok fazla dalmadım.

İyi şanslar.

0

Bunun ASP 4'te hala bir sorun olduğunu bildirebilirim. Çok sinir bozucu. Bir iş arkadaşının, bir bağlantı sayfası ya da düğmeler gibi hareket etmesini sessizce kesen tüm LinkButtonların yan etkisine neden olan bir ana sayfaya özel bir denetim ekledikten sonra bu sorunu bugün keşfettim.

İlgili konular