title: UpdateProgress not firing on every PostBack of controls inside UpdatePanel
body: <p>I have an UpdatePanel:</p>
  
  <pre><code>&lt;asp:UpdatePanel runat="server" ID="panelFatt"&gt;
  &lt;ContentTemplate&gt;
  
      &lt;div class="row" runat="server" id="divCFPIva"&gt;
          &lt;div class="col-md-6"&gt;
              &lt;div class="form-group"&gt;
                  &lt;label for="txtCF"&gt;Codice Fiscale&lt;/label&gt;
                  &lt;asp:TextBox runat="server" ID="txtCF" type="text" MaxLength="16" class="form-control" /&gt;
              &lt;/div&gt;
          &lt;/div&gt;
          &lt;div class="col-md-6"&gt;
              &lt;div class="form-group"&gt;
                  &lt;label for="txtPIVA"&gt;Partita IVA&lt;/label&gt;
                  &lt;asp:TextBox runat="server" ID="txtPIVA" type="text" MaxLength="11" class="form-control" /&gt;
              &lt;/div&gt;
          &lt;/div&gt;
          &lt;div class="col-md-12"&gt;
              &lt;span class="help-inline hidden lblerror" runat="server" id="lblErrorCFPIva"&gt;&lt;/span&gt;
          &lt;/div&gt;
      &lt;/div&gt;
  
      &lt;div class="row"&gt;
          &lt;div class="col-md-6"&gt;
              &lt;div class="form-group" runat="server" id="divEmail"&gt;
                  &lt;label for="txtEmail" class="control-label"&gt;Email*&lt;/label&gt;
                  &lt;div class="controls"&gt;
                      &lt;asp:TextBox runat="server" TextMode="Email" type="text" ID="txtEmail" class="form-control" /&gt;
                      &lt;span class="help-inline hidden lblerror" runat="server" id="lblErrorEmail"&gt;&lt;/span&gt;
                  &lt;/div&gt;
              &lt;/div&gt;
          &lt;/div&gt;
          &lt;div class="col-md-6"&gt;
              &lt;div class="form-group" runat="server" id="divTelefono"&gt;
                  &lt;label for="txtTelefono" class="control-label"&gt;Recapito Telefonico*&lt;/label&gt;
                  &lt;div class="controls"&gt;
                      &lt;asp:TextBox runat="server" ID="txtTelefono" type="text" TextMode="Phone" class="form-control" /&gt;
                      &lt;span class="help-inline hidden lblerror" runat="server" id="lblErrorTelefono"&gt;&lt;/span&gt;
                  &lt;/div&gt;
              &lt;/div&gt;
          &lt;/div&gt;
      &lt;/div&gt;
      &lt;!-- /Row --&gt;
      &lt;div class="form-group"&gt;
          &lt;asp:RadioButton runat="server" ID="radioScegliIndirizziFatt" Text="&amp;nbsp;Scegli tra uno dei tuoi indirizzi" AutoPostBack="true" OnCheckedChanged="radioScegliIndirizziFatt_CheckedChanged" Checked="true" GroupName="radioIndirizziFatt" /&gt;
          &lt;div class="form-group" runat="server" id="divScegliIndirizzoFatt"&gt;
              &lt;asp:DropDownList runat="server" ID="ddlIndirizziFatt" class="form-control"&gt;&lt;/asp:DropDownList&gt;
              &lt;span class="help-inline hidden lblerror" runat="server" id="lblErrorScegliIndirizziFatt"&gt;&lt;/span&gt;
          &lt;/div&gt;
          &lt;br /&gt;
          &lt;asp:RadioButton runat="server" ID="radioNuovoIndirizzoFatt" Text="&amp;nbsp;Inserisci un nuovo Indirizzo" AutoPostBack="true" OnCheckedChanged="radioNuovoIndirizzoFatt_CheckedChanged" GroupName="radioIndirizziFatt" /&gt;
  
          &lt;div class="form-group" runat="server" id="divNomeFatt"&gt;
              &lt;label for="txtNomeFatt" class="control-label"&gt;Nome o Ragione Sociale*&lt;/label&gt;
              &lt;div class="controls"&gt;
                  &lt;asp:TextBox runat="server" ID="txtNomeFatt" type="text" class="form-control" /&gt;
                  &lt;span class="help-inline hidden lblerror" runat="server" id="lblErrorNomeFatt"&gt;&lt;/span&gt;
              &lt;/div&gt;
          &lt;/div&gt;
          &lt;div class="form-group" runat="server" id="divIndirizzoFatt"&gt;
              &lt;label for="txtIndirizzoFatt" class="control-label"&gt;Indirizzo*&lt;/label&gt;
              &lt;div class="controls"&gt;
                  &lt;asp:TextBox runat="server" ID="txtIndirizzoFatt" type="text" class="form-control" /&gt;
                  &lt;span class="help-inline hidden lblerror" runat="server" id="lblErrorIndirizzoFatt"&gt;&lt;/span&gt;
              &lt;/div&gt;
          &lt;/div&gt;
          &lt;div class="row"&gt;
              &lt;div class="col-md-5"&gt;
                  &lt;div class="form-group" runat="server" id="divStatoFatt"&gt;
                      &lt;label for="ddlStatoFatt" class="control-label"&gt;Stato&lt;/label&gt;
                      &lt;div class="controls"&gt;
                          &lt;asp:DropDownList runat="server" ID="ddlStatoFatt" OnSelectedIndexChanged="ddlStatoFatt_SelectedIndexChanged" class="form-control" AutoPostBack="true" /&gt;
                      &lt;/div&gt;
                  &lt;/div&gt;
              &lt;/div&gt;
              &lt;div class="col-md-7"&gt;
                  &lt;div class="form-group" runat="server" id="divProvinciaFatt" visible="false"&gt;
                      &lt;label runat="server" id="lblProvinciaFatt" for="ddlProvinciaFatt" class="control-label"&gt;Provincia&lt;/label&gt;
                      &lt;div class="controls"&gt;
                          &lt;asp:DropDownList runat="server" ID="ddlProvinciaFatt" class="form-control" OnSelectedIndexChanged="ddlProvinciaFatt_SelectedIndexChanged" AutoPostBack="true" /&gt;
                      &lt;/div&gt;
                  &lt;/div&gt;
              &lt;/div&gt;
          &lt;/div&gt;
          &lt;div class="row"&gt;
              &lt;div class="col-md-8" runat="server" id="divCittaFatt"&gt;
                  &lt;div class="form-group"&gt;
                      &lt;label runat="server" id="lblCittaFatt" for="txtCittaFatt" class="control-label"&gt;Città*&lt;/label&gt;
                      &lt;div class="form-group" runat="server" id="divDDLFatt" visible="false"&gt;
                          &lt;asp:DropDownList runat="server" ID="ddlCittaFatt" class="form-control" OnSelectedIndexChanged="ddlCittaFatt_SelectedIndexChanged" AutoPostBack="true" /&gt;
                      &lt;/div&gt;
                      &lt;br /&gt;
                      &lt;div class="form-group" runat="server" id="divTXTFatt" visible="false"&gt;
                          &lt;asp:TextBox runat="server" ID="txtCittaFatt" type="text" class="form-control" /&gt;
                      &lt;/div&gt;
                      &lt;span class="help-inline hidden lblerror" runat="server" id="lblErrorCittaFatt"&gt;&lt;/span&gt;
                  &lt;/div&gt;
              &lt;/div&gt;
              &lt;div class="col-md-4" runat="server" id="divCAPFatt"&gt;
                  &lt;div class="form-group"&gt;
                      &lt;label for="txtCAPFatt" class="control-label"&gt;CAP*&lt;/label&gt;
                      &lt;div class="controls"&gt;
                          &lt;asp:TextBox runat="server" ID="txtCapFatt" type="text" class="form-control" /&gt;
                          &lt;span class="help-inline hidden lblerror" runat="server" id="lblErrorCAPFatt"&gt;&lt;/span&gt;
                      &lt;/div&gt;
                  &lt;/div&gt;
              &lt;/div&gt;
          &lt;/div&gt;
  
      &lt;/div&gt;
  &lt;/ContentTemplate&gt;
  &lt;/asp:UpdatePanel&gt;
  </code></pre>
  
  <p>And I'm trying to fire an UpdateProgress that I would like show loading image at every post back of the controls inside the UpdatePanel.</p>
  
  <pre><code>&lt;asp:UpdateProgress ID="UpdateProgress1" runat="server" AssociatedUpdatePanelID="panelFatt"&gt;
  &lt;ProgressTemplate&gt;
      &lt;div class="modal"&gt;
          &lt;div class="center"&gt;
              &lt;img alt="" src="http://i.stack.imgur.com/FhHRx.gif" /&gt;
          &lt;/div&gt;
      &lt;/div&gt;
  &lt;/ProgressTemplate&gt;
  &lt;/asp:UpdateProgress&gt;
  </code></pre>
  
  <p>This is not working at all.
  I saw on the Internet that someone associates a client method with the click of a button in the Update Panel.
  But I should do it for all the controls that make a post back within my update panel.</p>
  
  <p>Is there a way to make it work?</p>
  
  <hr>
  
  <p>I modified my code in this way:</p>
  
  <pre><code>&lt;asp:UpdatePanel runat="server" ID="panelFatt" UpdateMode="Conditional"&gt;
  &lt;ContentTemplate&gt;
      &lt;div class="row"&gt;
          &lt;div class="col-md-6"&gt;
              &lt;h4&gt;
                  &lt;asp:CheckBox runat="server" ID="checkFattura" Text="Desidero ricevere la Fattura" AutoPostBack="true" OnCheckedChanged="checkFattura_CheckedChanged" CssClass="checkbox-inline cssRadio" /&gt;&lt;/h4&gt;
          &lt;/div&gt;
      &lt;/div&gt;
      &lt;br /&gt;
      &lt;div class="row" runat="server" id="divCFPIva"&gt;
          &lt;div class="col-md-6"&gt;
              &lt;div class="form-group"&gt;
                  &lt;label for="txtCF" runat="server" id="lblCF" visible="false"&gt;Codice Fiscale&lt;/label&gt;
                  &lt;asp:TextBox runat="server" ID="txtCF" type="text" MaxLength="16" class="form-control" Visible="false" /&gt;
              &lt;/div&gt;
          &lt;/div&gt;
          &lt;div class="col-md-6"&gt;
              &lt;div class="form-group"&gt;
                  &lt;label for="txtPIVA" runat="server" id="lblPIva" visible="false"&gt;Partita IVA&lt;/label&gt;
                  &lt;asp:TextBox runat="server" ID="txtPIVA" type="text" MaxLength="11" class="form-control" Visible="false" /&gt;
              &lt;/div&gt;
          &lt;/div&gt;
          &lt;div class="col-md-12"&gt;
              &lt;span class="help-inline hidden lblerror" runat="server" id="lblErrorCFPIva"&gt;&lt;/span&gt;
          &lt;/div&gt;
      &lt;/div&gt;
  
      &lt;div class="row"&gt;
          &lt;div class="col-md-6"&gt;
              &lt;div class="form-group" runat="server" id="divEmail"&gt;
                  &lt;label for="txtEmail" class="control-label"&gt;Email*&lt;/label&gt;
                  &lt;div class="controls"&gt;
                      &lt;asp:TextBox runat="server" TextMode="Email" type="text" ID="txtEmail" class="form-control" /&gt;
                      &lt;span class="help-inline hidden lblerror" runat="server" id="lblErrorEmail"&gt;&lt;/span&gt;
                  &lt;/div&gt;
              &lt;/div&gt;
          &lt;/div&gt;
          &lt;div class="col-md-6"&gt;
              &lt;div class="form-group" runat="server" id="divTelefono"&gt;
                  &lt;label for="txtTelefono" class="control-label"&gt;Recapito Telefonico*&lt;/label&gt;
                  &lt;div class="controls"&gt;
                      &lt;asp:TextBox runat="server" ID="txtTelefono" type="text" TextMode="Phone" class="form-control" /&gt;
                      &lt;span class="help-inline hidden lblerror" runat="server" id="lblErrorTelefono"&gt;&lt;/span&gt;
                  &lt;/div&gt;
              &lt;/div&gt;
          &lt;/div&gt;
      &lt;/div&gt;
      &lt;!-- /Row --&gt;
      &lt;div class="form-group"&gt;
          &lt;div runat="server" id="divNotVisibleFatt"&gt;
              &lt;asp:RadioButton runat="server" ID="radioScegliIndirizziFatt" Text="&amp;nbsp;Scegli tra uno dei tuoi indirizzi" AutoPostBack="true" OnCheckedChanged="radioScegliIndirizziFatt_CheckedChanged" Checked="true" GroupName="radioIndirizziFatt" /&gt;
              &lt;div class="form-group" runat="server" id="divScegliIndirizzoFatt"&gt;
                  &lt;asp:DropDownList runat="server" ID="ddlIndirizziFatt" class="form-control"&gt;&lt;/asp:DropDownList&gt;
                  &lt;span class="help-inline hidden lblerror" runat="server" id="lblErrorScegliIndirizziFatt"&gt;&lt;/span&gt;
              &lt;/div&gt;
              &lt;br /&gt;
              &lt;asp:RadioButton runat="server" ID="radioNuovoIndirizzoFatt" Text="&amp;nbsp;Inserisci un nuovo Indirizzo" AutoPostBack="true" OnCheckedChanged="radioNuovoIndirizzoFatt_CheckedChanged" GroupName="radioIndirizziFatt" /&gt;
          &lt;/div&gt;
          &lt;div class="form-group" runat="server" id="divNomeFatt"&gt;
              &lt;label for="txtNomeFatt" class="control-label"&gt;Nome o Ragione Sociale*&lt;/label&gt;
              &lt;div class="controls"&gt;
                  &lt;asp:TextBox runat="server" ID="txtNomeFatt" type="text" class="form-control" /&gt;
                  &lt;span class="help-inline hidden lblerror" runat="server" id="lblErrorNomeFatt"&gt;&lt;/span&gt;
              &lt;/div&gt;
          &lt;/div&gt;
          &lt;div class="form-group" runat="server" id="divIndirizzoFatt"&gt;
              &lt;label for="txtIndirizzoFatt" class="control-label"&gt;Indirizzo*&lt;/label&gt;
              &lt;div class="controls"&gt;
                  &lt;asp:TextBox runat="server" ID="txtIndirizzoFatt" type="text" class="form-control" /&gt;
                  &lt;span class="help-inline hidden lblerror" runat="server" id="lblErrorIndirizzoFatt"&gt;&lt;/span&gt;
              &lt;/div&gt;
          &lt;/div&gt;
          &lt;div class="row"&gt;
              &lt;div class="col-md-5"&gt;
                  &lt;div class="form-group" runat="server" id="divStatoFatt"&gt;
                      &lt;label for="ddlStatoFatt" class="control-label"&gt;Stato&lt;/label&gt;
                      &lt;div class="controls"&gt;
                          &lt;asp:DropDownList runat="server" ID="ddlStatoFatt" OnSelectedIndexChanged="ddlStatoFatt_SelectedIndexChanged" class="form-control" AutoPostBack="true" /&gt;
                      &lt;/div&gt;
                  &lt;/div&gt;
              &lt;/div&gt;
              &lt;div class="col-md-7"&gt;
                  &lt;div class="form-group" runat="server" id="divProvinciaFatt" visible="false"&gt;
                      &lt;label runat="server" id="lblProvinciaFatt" for="ddlProvinciaFatt" class="control-label"&gt;Provincia&lt;/label&gt;
                      &lt;div class="controls"&gt;
                          &lt;asp:DropDownList runat="server" ID="ddlProvinciaFatt" class="form-control" OnSelectedIndexChanged="ddlProvinciaFatt_SelectedIndexChanged" AutoPostBack="true" /&gt;
                      &lt;/div&gt;
                  &lt;/div&gt;
              &lt;/div&gt;
          &lt;/div&gt;
          &lt;div class="row"&gt;
              &lt;div class="col-md-8" runat="server" id="divCittaFatt"&gt;
                  &lt;div class="form-group"&gt;
                      &lt;label runat="server" id="lblCittaFatt" for="txtCittaFatt" class="control-label"&gt;Città*&lt;/label&gt;
                      &lt;div class="form-group" runat="server" id="divDDLFatt" visible="false"&gt;
                          &lt;asp:DropDownList runat="server" ID="ddlCittaFatt" class="form-control" OnSelectedIndexChanged="ddlCittaFatt_SelectedIndexChanged" AutoPostBack="true" /&gt;
                      &lt;/div&gt;
                      &lt;br /&gt;
                      &lt;div class="form-group" runat="server" id="divTXTFatt" visible="false"&gt;
                          &lt;asp:TextBox runat="server" ID="txtCittaFatt" type="text" class="form-control" /&gt;
                      &lt;/div&gt;
                      &lt;span class="help-inline hidden lblerror" runat="server" id="lblErrorCittaFatt"&gt;&lt;/span&gt;
                  &lt;/div&gt;
              &lt;/div&gt;
              &lt;div class="col-md-4" runat="server" id="divCAPFatt"&gt;
                  &lt;div class="form-group"&gt;
                      &lt;label for="txtCAPFatt" class="control-label"&gt;CAP*&lt;/label&gt;
                      &lt;div class="controls"&gt;
                          &lt;asp:TextBox runat="server" ID="txtCapFatt" type="text" class="form-control" /&gt;
                          &lt;span class="help-inline hidden lblerror" runat="server" id="lblErrorCAPFatt"&gt;&lt;/span&gt;
                      &lt;/div&gt;
                  &lt;/div&gt;
              &lt;/div&gt;
          &lt;/div&gt;
  
      &lt;/div&gt;
  &lt;/ContentTemplate&gt;
  &lt;Triggers&gt;
      &lt;asp:AsyncPostBackTrigger ControlID="checkFattura" EventName="CheckedChanged"/&gt;
      &lt;asp:AsyncPostBackTrigger ControlID="radioScegliIndirizziFatt" EventName="CheckedChanged"/&gt;
      &lt;asp:AsyncPostBackTrigger ControlID="radioNuovoIndirizzoFatt" EventName="CheckedChanged"/&gt;
      &lt;asp:AsyncPostBackTrigger ControlID="ddlStatoFatt" EventName="SelectedIndexChanged"/&gt;
      &lt;asp:AsyncPostBackTrigger ControlID="ddlProvinciaFatt" EventName="SelectedIndexChanged"/&gt;
      &lt;asp:AsyncPostBackTrigger ControlID="ddlCittaFatt" EventName="SelectedIndexChanged"/&gt;
  &lt;/Triggers&gt;
  &lt;/asp:UpdatePanel&gt;
  
  &lt;asp:UpdateProgress ID="UpdateProgress1" runat="server" AssociatedUpdatePanelID="panelFatt"&gt;
  &lt;ProgressTemplate&gt;
      &lt;div class="modal"&gt;
          &lt;div class="center"&gt;
              &lt;img alt="" src="https://i.stack.imgur.com/FhHRx.gif" /&gt;
          &lt;/div&gt;
      &lt;/div&gt;
  &lt;/ProgressTemplate&gt;
  &lt;/asp:UpdateProgress&gt;
  </code></pre>
  
  <p>but even not working..</p>
  
  <p><a href="https://i.stack.imgur.com/Vd3D7.png" rel="noreferrer"><img src="https://i.stack.imgur.com/Vd3D7.png" alt="my tags are ok"></a></p>
  
  <p>and my data bind aer in Page_Load</p>
  
  <pre><code> protected void Page_Load(object sender, EventArgs e)
      {
          if (!IsPostBack)
          {
              // Combo Province
              DataTable dtProv = oTabelle.GetDTProvinceByIdStato(IdStatoITA);
              oUty.loadDDL(ref ddlProvinciaFatt, dtProv, "IdProvincia", "NomeProvincia", "", "", "");
              ddlProvinciaFatt.SelectedValue = "";
              ...
          }
      }
  </code></pre>
  
  <p>and my associated event is the following</p>
  
  <pre><code> protected void ddlProvinciaFatt_SelectedIndexChanged(object sender, EventArgs e)
      {
          txtCapFatt.Text = "";
          string idProvincia = ddlProvinciaFatt.SelectedValue;
  
          // carico i comuni della provincia
          oUty.loadDDL(ref ddlCittaFatt, oTabelle.GetDTComuniByIdProvincia(idProvincia), "IdComune", "NomeComune", "", "", "", true);
          ddlCittaFatt.SelectedIndex = -1;
      }
  </code></pre>
  
  <p>where I'm wrong?</p>