Pesquisa

segunda-feira, 3 de janeiro de 2011

Desabilitar botão após o click

Solução muito simples para desabilitar o botão após o click.

Essa solução pode ser utilizado em requisições ajax, com update panel.

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<asp:ScriptManager ID="scriptManager" AsyncPostBackTimeout="0" runat="server">
</asp:ScriptManager>
<div>
<asp:UpdatePanel runat="server" ID="upPrincipal">
<ContentTemplate>
<asp:Button runat="server" ID="btnSalvar" Text="Salvar"
onclick="btnSalvar_Click" />
<asp:Literal runat="server" ID="ltlTexto"></asp:Literal>
</ContentTemplate>
</asp:UpdatePanel>

</div>
</form>
</body>
</html>

E no code behind:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
btnSalvar.Attributes.Add("onclick", "this.disabled=true;" + Page.ClientScript.GetPostBackEventReference(btnSalvar, String.Empty).ToString());
}
protected void btnSalvar_Click(object sender, EventArgs e)
{
System.Threading.Thread.Sleep(5000);
ltlTexto.Text += DateTime.Now.ToString() + " - ";
}
}

Nenhum comentário:

Postar um comentário