2010-03-11 4 views
0

je le code suivant à l'avantComment mettre la déclaration de l'état pour les éléments suivants ASp.NET 2.0

<asp:Content ID="Content1" ContentPlaceHolderID="cphMain" runat="server"> 
     <script type="text/javascript"> 
      //on upload button click temporarily disables ajax to perform upload actions 
      function conditionalPostback(sender, args) 
      { 
       if (args.EventTarget == '<%= ((Button)frmvwMainDetail.FindControl("bttnRateUploadUpload")).UniqueID %>') { 
        args.EnableAjax = false; 
       } 
      } 
     </script> 
    ... 
</asp:content> 

Lorsque la charge de la page, il se plaindre de ((Button) frmvwMainDetail.FindControl ("bttnRateUploadUpload ")). UniqueID est une valeur nulle. Donc, ma question comment mettre un peu de contrôle sur cela?

Répondre

1

utilisation clientId pas UniqueID

  • propriété UniqueID de Le contrôle est rendu comme l'attribut name.

  • La propriété ClientID du contrôle est rendue en tant qu'attribut d'ID.

Faites quelque chose avec votre code OnPageLoad:

// Define the name and type of the client scripts on the page. 
    String csname1 = "PopupScript"; 
    Type cstype = this.GetType(); 

    // Get a ClientScriptManager reference from the Page class. 
    ClientScriptManager cs = Page.ClientScript; 

    // Check to see if the startup script is already registered. 
    if (!cs.IsStartupScriptRegistered(cstype, csname1)) 
    { 
     String cstext1 = "alert('Hello World:"+ bttnRateUploadUpload.ClientID + "');"; 
     cs.RegisterStartupScript(cstype, csname1, cstext1); 
    } 
+0

En fait ... que bttnRateUploadUpload est existe pas encore. BTW ... J'utilise le FormView et la chose se passe en mode d'affichage Insertion qui explique que le bouton bttnRateUploadUpload n'existe pas encore. Donc, pourquoi je suis juste comment vérifier de ne pas courir à tous les JS si l'objet est nul. – dcpartners

+0

voir ma réponse éditée. vous pouvez vérifier les règles et décider d'ajouter ou de ne pas ajouter de script à la page à ce stade. utilisez votre control.ClientID pour insérer une référence dans le script client. – garik

+0

Merci Igor. Je vais essayer cette approche – dcpartners

Questions connexes