2011-05-07 9 views
7

TragetContriID'u GridView içinde bulunan HyperLink için nasıl ayarlayabilirim? ModalPopupExtender'da bir GridView denetiminde TargetContrlID değeri nasıl ayarlanır

bu çalıştı:

<asp:ModalPopupExtender ID="ModalPopupExtender1" runat="server" 
         PopupControlID="Panel1" 
         CancelControlID="btnCancel" 
         OnCancelScript="HideModalPopup()" 
         TargetControlID="GridView1$HyperLink1"> 
</asp:ModalPopupExtender> 

Ama bir hata var: Kontrol olduğunda temelde o ModalPopup istemci tarafı göster fonksiyonunu tetiklemek TargetControlIDModalPopupExtender arasında ayarlama hiçbir GridView1$HyperLink1

cevap

8

olduğunu tıkladım. Bu yüzden kontrolleri kendiniz yapmanız gerekiyor. ModalPopupExtender bir TargetControlID ihtiyaç beri

Birincisi, size kalıcı bir açılır pencere bağlamak için bir kukla denetimi eklemek gerekir:

<asp:Button runat="server" 
      ID="HiddenTargetControlForModalPopup" 
      style="display:none"/> 

Ve bağlantı yüzden

<asp:ModalPopupExtender ID="ModalPopupExtender1" runat="server" 
         PopupControlID="Panel1" 
         CancelControlID="btnCancel" 
         OnCancelScript="HideModalPopup()" 
         TargetControlID="HiddenTargetControlForModalPopup"> 
</asp:ModalPopupExtender> 

ModalPopupExtender-ModalPopupExtenderTargetControlID şimdi hiçbir şey yapmayan bir hedefi var. Şimdi şimdi hedefin işini yapmalıyız. ModalPopup'u istemci tarafından göstermek için javascript işlevine ihtiyacınız vardır.

<script type="text/javascript"> 
    var ModalPopup='<%= ModalPopupExtender1.ClientID %>'; 

    function ShowModalPopup() { 
     // show the Popup  
     $find(ModalPopup).show(); 
    } 
</script> 

Sonra bu javascript işlevine senin gridview kontrolden OnClientClick olayı eşleşmelidir. Kodunuzdan, asp:HyperLink kullandığınızı görüyorum, bunun OnClientClick olayını desteklemediğini sanmıyorum, bu yüzden muhtemelen bir asp:LinkButton'a geçmeniz gerekiyor.

+0

Merhaba Kodunuzu kullanıyorum ama hata alıyorum .. Microsoft JScript çalışma zamanı hatası: Sys.ArgumentNullException: Değer boş olamaz. Parametre adı: işleyici – software

+0

Lütfen bana bu iyi bir çözüm için bana bu – software

+0

iyi çalışıyor nasıl çözülecek bildirin. Hatanız başka bir yerde olabilir. Hatanın nerede meydana geldiğini görmek için hata ayıklamaya çalışın. – DavRob60