Please refer below code.
HTML
<div>
<asp:ScriptManager ID="Scriptmanager1" runat="server">
</asp:ScriptManager>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<asp:Label ID="Label1" runat="server" Font-Size="XX-Large"></asp:Label>
<asp:Timer ID="tm1" Interval="1000" runat="server" OnTick="tm1_Tick" />
<asp:Button ID="btnStart" Text="Start" runat="server" OnClick="Start" />
<asp:Button ID="btnStop" Text="Stop" runat="server" OnClick="Stop" />
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="tm1" EventName="Tick" />
</Triggers>
</asp:UpdatePanel>
</div>
C#
public static Stopwatch sw;
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
btnStop.Enabled = false;
sw = new Stopwatch();
}
}
protected void Start(object sender, EventArgs e)
{
sw.Reset();
sw.Start();
btnStart.Enabled = false;
btnStop.Enabled = true;
}
protected void Stop(object sender, EventArgs e)
{
sw.Stop();
btnStop.Enabled = false;
btnStart.Enabled = true;
}
protected void tm1_Tick(object sender, EventArgs e)
{
try
{
long sec = sw.Elapsed.Seconds;
long min = sw.Elapsed.Minutes;
if (min < 10)
Label1.Text = "0" + min;
else
Label1.Text = min.ToString();
Label1.Text += " : ";
if (sec < 10)
Label1.Text += "0" + sec;
else
Label1.Text += sec.ToString();
}
catch { };
}
Screenshot
