c# - smartadmin - template bootstrap premium
El botón no funciona con el Panel de actualización (7)
Si está utilizando la página maestra, agregue este código en su evento carga de página
using AjaxControlToolkit;
ToolkitScriptManager objScriptManager = (ToolkitScriptManager)this.Master.FindControl("ScriptManager1");
objScriptManager.AsyncPostBackTimeout = 36000;
..............
He colocado un temporizador y una etiqueta para mostrar el tiempo de cuenta regresiva en un panel de actualización. He colocado el siguiente botón para mostrar la siguiente pregunta fuera del panel de actualización.
Mi problema es que el clic del botón no funciona con el panel de actualización. Sin usar el panel de actualización y el temporizador, funciona bien. ¿Cómo puedo resolver el problema?
También intenté colocar herramientas completas dentro del panel de actualización. No me ayudó.
Aquí está mi código:
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<table class="style1">
<tr>
<td class="style2">
<asp:Timer ID="Timer1" runat="server" Interval="1000" ontick="Timer1_Tick">
</asp:Timer>
<asp:Label ID="lblTimer" runat="server"></asp:Label>
</tr>
<tr>
<td style="margin-left: 40px" class="style3">
<asp:Label ID="lblQuestion" runat="server"></asp:Label>
</td>
</tr>
</table>
</ContentTemplate>
</asp:UpdatePanel>
<table>
<tr>
<td style="margin-left: 40px" class="style2">
<asp:RadioButtonList ID="rblOptions" runat="server">
</asp:RadioButtonList>
</td>
</tr>
<tr>
<td style="margin-left: 40px" class="style2">
<table class="style1">
<tr>
<td class="style2">
<asp:Button ID="btnNext" runat="server" onclick="btnNext_Click" Text="Next"
Width="75px" />
</td>
<td>
<asp:Button ID="btnFinish" runat="server" onclick="btnFinish_Click"
Text="Finish" Width="75px" />
</td>
</tr>
<tr>
<td class="style2">
</td>
<td>
<asp:Label ID="lblScore" runat="server">Score : </asp:Label>
</td>
</tr>
</table>
</td>
</tr>
</table>
<asp:UpdatePanel>
Agregué el siguiente código.
<Triggers>
<asp:AsyncPostBackTrigger ControlID="btnNext" EventName="Click"/>
</Triggers>
Aún así no funcionó. Me podría ayudar....
La selección del botón de opción se borra automáticamente cuando se usa el panel de actualización. Alguna ayuda....?
Gracias....
Añadir
<Triggers>
<asp:PostBackTrigger ControlID="btnNext" />
</Triggers>
y agregue Ajaxtoolkit a su proyecto ... luego simplemente ingrese el siguiente enlace después de <% @ Page .........%>
<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="asp" %>
también agregue el siguiente código en su etiqueta de formulario.
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
Solucionará tu problema.
Su UpdatePanel está mal formado. Usted tiene un asp adicional : etiqueta UpdatePanel en el marcado.
Use esto en su lugar:
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<table class="style1">
<tr>
<td class="style2">
<asp:Timer ID="Timer1" runat="server" Interval="1000" ontick="Timer1_Tick">
</asp:Timer>
<asp:Label ID="lblTimer" runat="server"></asp:Label>
</td>
</tr>
<tr>
<td style="margin-left: 40px" class="style3">
<asp:Label ID="lblQuestion" runat="server"></asp:Label>
</td>
</tr>
</table>
<table>
<tr>
<td style="margin-left: 40px" class="style2">
<asp:RadioButtonList ID="rblOptions" runat="server">
</asp:RadioButtonList>
</td>
</tr>
<tr>
<td style="margin-left: 40px" class="style2">
<table class="style1">
<tr>
<td class="style2">
<asp:Button ID="btnNext" runat="server" onclick="btnNext_Click" Text="Next" Width="75px" />
</td>
<td>
<asp:Button ID="btnFinish" runat="server" onclick="btnFinish_Click" Text="Finish" Width="75px" />
</td>
</tr>
<tr>
<td class="style2">
</td>
<td>
<asp:Label ID="lblScore" runat="server">Score : </asp:Label>
</td>
</tr>
</table>
</td>
</tr>
</table>
</ContentTemplate>
<asp:UpdatePanel>
Debes poner el botón en el panel de actualización, entonces funcionará bien
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<table class="style1">
<tr>
<td class="style2">
<asp:Timer ID="Timer1" runat="server" Interval="1000" ontick="Timer1_Tick">
</asp:Timer>
<asp:Label ID="lblTimer" runat="server"></asp:Label>
</tr>
<tr>
<td style="margin-left: 40px" class="style3">
<asp:Label ID="lblQuestion" runat="server"></asp:Label>
</td>
</tr>
</table>
<table>
<tr>
<td style="margin-left: 40px" class="style2">
<asp:RadioButtonList ID="rblOptions" runat="server">
</asp:RadioButtonList>
</td>
</tr>
<tr>
<td style="margin-left: 40px" class="style2">
<table class="style1">
<tr>
<td class="style2">
<asp:Button ID="btnNext" runat="server" onclick="btnNext_Click" Text="Next"
Width="75px" />
</td>
<td>
<asp:Button ID="btnFinish" runat="server" onclick="btnFinish_Click"
Text="Finish" Width="75px" />
</td>
</tr>
<tr>
<td class="style2">
</td>
<td>
<asp:Label ID="lblScore" runat="server">Score : </asp:Label>
</td>
</tr>
</table>
</td>
</tr>
</table>
</ContentTemplate>
</asp:UpdatePanel>
Necesita registrar el botón NEXT para actualizar el panel. para el registro debe usar <asp:asyncpostbacktrigger xmlns:asp="#unknown">
dentro del UpdatePanel
es decir
<updatepanel>
<contenttemplate>
... body ......
</contenttemplate>
<triggers>
<asp:asyncpostbacktrigger controlid="btnNext" eventname="Click" />
</triggers>
<updatepanel></updatepanel></updatepanel>
Parece que son etiquetas sin igual. Una vez corregido y pasar por el diseño una vez más. En lugar de utilizar la biblioteca AjaxToolkit, ejecutar con los complementos de navegación jquery, puede sentirse mejor.
Si en la página hay un error de validación (incluir errores ocultos es: diálogo modal). El clic del evento no funciona. Bandeja para establecer un grupo de validación diferente para el botón (es: validationGroup = "xxx")
<asp:Button ID="btnFinish" validationGroup="none" runat="server" onclick="btnFinish_Click" Text="Finish" />
Espero que esto ayude.