UpdateProgress a AsyncPostBackTrigger   otázka

ASP.NET WebForms

Pokud vyvolam aktualizaci UpdatePanelu pomocí AsyncPostBackTriggeru (tj. vně UpdatePanelu), tak se během aktualizace nezobrazí UpdateProgress. Při vyvolání přenačtení UpdatePanelu událostí uvnitř UpdatePanelu se UpdateProgress zobrazí. Jedná se o chybu UpdatePanelu? Lze toto chování nějak odstranit?

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Zajímavé, na jednom webu to používám a funguje to. Nemlátí se to s jinými skripty?

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Nemlátí. Nejde to ani na prázdné stránce.

Příklad - ASPX:

<h2>Progress se nezobrazí</h2>

<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>

<asp:Button ID="Button1" runat="server" Text="Async" onclick="Button1_Click" />

<asp:UpdateProgress ID="UpdateProgress1" runat="server" AssociatedUpdatePanelID="UpdatePanel1">
  <ProgressTemplate>
    Načítam...
  </ProgressTemplate>
</asp:UpdateProgress>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
  <Triggers>
    <asp:AsyncPostBackTrigger ControlID="Button1" EventName="Click" />
  </Triggers>
  <ContentTemplate>
    DisplayName: <asp:TextBox ID="DisplayNameTextBox" runat="server" />
  </ContentTemplate>
</asp:UpdatePanel>

<h2>Progress zobrazí</h2>

<asp:UpdateProgress ID="UpdateProgress2" runat="server" AssociatedUpdatePanelID="UpdatePanel2">
  <ProgressTemplate>
    Načítam...
  </ProgressTemplate>
</asp:UpdateProgress>
<asp:UpdatePanel ID="UpdatePanel2" runat="server">
  <ContentTemplate>
    <asp:Button ID="Button2" runat="server" Text="Async" onclick="Button2_Click" /><br />

    DisplayName: <asp:TextBox ID="DisplayNameTextBox2" runat="server" />
  </ContentTemplate>
</asp:UpdatePanel>

CS:

protected void Button1_Click(object sender, EventArgs e)
{
  System.Threading.Thread.Sleep(2000);
  DisplayNameTextBox.Text = DateTime.Now.ToString();
}

protected void Button2_Click(object sender, EventArgs e)
{
  System.Threading.Thread.Sleep(2000);
  DisplayNameTextBox2.Text = DateTime.Now.ToString();
}

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Zkoušel jste uvedený příklad? Stále mi nejde do hlavy, že by to nemělo řešení, protože to hodně komplikuje rozumné použití UpdatePanelu - tj. nedat celý formulář do jednoho velkého UpdatePanelu, ale dávat do UpdatePanelu co nejmenší kousky stránek.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

hmm bez atributu AssociatedUpdatePanelID to ide lenze sa to spusti pri vsetkych udalostiach... zaujimave...

nahlásit spamnahlásit spam 0 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:
Heslo:

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback