Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • Home
  • SEARCH
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 7639827
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 31, 20262026-05-31T08:31:19+00:00 2026-05-31T08:31:19+00:00

In my ASP.NET web-based application, I have a normal ASP.NET button that has a

  • 0

In my ASP.NET web-based application, I have a normal ASP.NET button that has a method behind it for sending emails as following:

ASP.NET Code:

<asp:Button ID="btnSendReminders" runat="server" Text="Send Reminders" OnClick="btnSendReminders_Click"  />

Code-Behind:

protected void btnSendReminders_Click(object sender, EventArgs e)
        {
            SendEmailTOAllUser();
        }


        protected void SendEmail(string toAddresses, string fromAddress, string MailSubject, string MessageBody, bool isBodyHtml)
        {
            SmtpClient sc = new SmtpClient("Mail Server");
            try
            {
                MailMessage msg = new MailMessage();
                msg.From = new MailAddress("pssp@aramco.com", "PMOD Safety Services Portal (PSSP)");

                // In case the mail system doesn't like no to recipients. This could be removed
                //msg.To.Add("psTeesstp@DomainServer.com");

                msg.Bcc.Add(toAddresses);
                msg.Subject = MailSubject;
                msg.Body = MessageBody;
                msg.IsBodyHtml = isBodyHtml;
                sc.Send(msg);
            }
            catch (Exception ex)
            {
                throw ex;
            }

        }

        protected void SendEmailTOAllUser()
        {
            string connString = "Data Source=localhost\\sqlexpress;Initial Catalog=psspForTest;Integrated Security=True";

            using (SqlConnection conn = new SqlConnection(connString))
            {
                var sbEmailAddresses = new System.Text.StringBuilder(2000);
                string quizid = "";

                // Open DB connection.
                conn.Open();

                string cmdText = "SELECT MAX (QuizID) As mQuizID FROM dbo.QUIZ WHERE IsSent <> 0";
                using (SqlCommand cmd = new SqlCommand(cmdText, conn))
                {
                    SqlDataReader reader = cmd.ExecuteReader();
                    if (reader != null)
                    {
                        while (reader.Read())
                        {
                            // There is only 1 column, so just retrieve it using the ordinal position
                            quizid = reader["mQuizID"].ToString();

                        }
                    }
                    reader.Close();
                }

                string cmdText2 = @"SELECT e.Username, d.DivisionShortcut
                                FROM
                                  employee e
                                  join Divisions d on (e.DivisionCode = d.SapCode)
                                  left join 
                                    (select A.QuizID, a.Username 
                                     from UserQuiz a join 
                                     (select max(QuizID) QuizID from dbo.Quiz where IsSent=1) b
                                     on a.QuizId = b.QuizID
                                     ) c
                                   on e.Username = c.Username
                                 WHERE c.QuizID is null
                                 Order By d.DivisionShortcut";
                using (SqlCommand cmd = new SqlCommand(cmdText2, conn))
                {
                    SqlDataReader reader = cmd.ExecuteReader();
                    if (reader != null)
                    {
                        while (reader.Read())
                        {
                            var sName = reader.GetString(0);
                            if (!string.IsNullOrEmpty(sName))
                            {
                                if (sbEmailAddresses.Length != 0)
                                {
                                    sbEmailAddresses.Append(",");
                                }
                                // Just use the ordinal position for the user name since there is only 1 column
                                sbEmailAddresses.Append(sName).Append("@DomainServer.com");
                            }
                        }
                    }
                    reader.Close();


                    // Add the parameter to the command
                    var oParameter = cmd.Parameters.Add("@QuizID", SqlDbType.Int);


                    var sEMailAddresses = sbEmailAddresses.ToString();
                    string link = "<a href='http://StartQuiz.aspx?testid=" + quizid + "'> Click here to participate </a>";
                    string body = @"<font color='red' size='18pt'><b> ***REMINDER*** </b></font> <br /><br /> 
                                Good day, <br /><br />
                                <b>This is just a gentle reminder asking you to participate in the last new short safety quiz </b>"
                                    + link +
                                    @"<br /><br />
                                Also, give yourself a chance to gain more safety culture by reading the PMOD Newsletter.
                                <br /><br /><br />
                                PLEASE <span class='highlight'>IGNORE</span> THIS MESSAGE IF YOU HAVE ALREADY PARTICIPATED IN THIS QUIZ.
                                <br /> <br /><br /> <br />
                                This email was generated using the <a href='http://pmv/pssp/Default.aspx'>Safety Portal (PSSP) </a>. 
                                Please do not reply to this email.";

                    int sendCount = 0;
                    List<string> addressList = new List<string>(sEMailAddresses.Split(','));
                    StringBuilder addressesToSend = new StringBuilder();

                    for (int userIndex = 0; userIndex < addressList.Count; userIndex++)
                    {
                        sendCount++;
                        if (addressesToSend.Length > 0)
                            addressesToSend.Append(",");

                        addressesToSend.Append(addressList[userIndex]);
                        if (sendCount == 10 || userIndex == addressList.Count - 1)
                        {
                            SendEmail(addressesToSend.ToString(), "", "REMINDER: Notification of New Weekly Safety Quiz", body, true);
                            addressesToSend.Clear();
                            sendCount = 0;
                        }
                    }


                    // Update the parameter for the current quiz
                    oParameter.Value = quizid;
                    // And execute the command
                    cmd.ExecuteNonQuery();

                }
                conn.Close();
            }
        }

Now, instead of using <asp:Button>, I want to use:

 <ajaxToolkit:ConfirmButtonExtender ID="btnSendReminders" runat="server" TargetControlID="btnSendReminders"
                                                ConfirmText="Are you sure you want to click this?"
                                                OnClientCancel="CancelClick" />

to have a ConfirmMessage. But I don’t know why I got the following error:
**

Extender control ‘btnSendReminders’ cannot extend ‘btnSendReminders’.
Extender controls of type ‘AjaxControlToolkit.ConfirmButtonExtender’
cannot extend controls of type
‘AjaxControlToolkit.ConfirmButtonExtender’.

And I don’t know why. So how can I use it instead of the <asp:button>?

UPDATE:

I just figured out how to use it. I should use it as following:

<asp:Button ID="btnSendReminders" runat="server" Text="Send Reminders" OnClick="btnSendReminders_Click"  />
            <ajaxToolkit:ConfirmButtonExtender ID="ConfirmButtonExtender1" runat="server" TargetControlID="btnSendReminders"
                                                ConfirmText="Are you sure you want to send reminders to these employees?"
                                                OnClientCancel="CancelClick">
                                                </ajaxToolkit:ConfirmButtonExtender>

But the problem now is when the confirm message appears, and click on the Cancel button, still the page will be refreshed and the reminders will be sent. How to prevent that in case of clicking the Cancel button?

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-31T08:31:20+00:00Added an answer on May 31, 2026 at 8:31 am

    Use following code Confirm button ajax extender to get confirm box:

      <asp:Button ID="btnSendReminders" runat="server" Text="Send Reminders" OnClick="btnSendReminders_Click"  />
    <ajaxToolkit:ConfirmButtonExtender ID="cbe" runat="server"
       TargetControlID="btnSendReminders"
        ConfirmText="Are you sure you want to Send Reminders?"
        />
    
    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

Let me share the following scenario: I have a ASP.NET intranet Web-based application that
I have a code base that has been used as an ASP.Net web application.
I have a small web application based on asp.net 2010 that manages invoices. After
We have a web based (ASP.NET MVC) application that uses SQL Server 2008 for
in my asp.net 4.0 web application i have a jquery based news panel. In
So I have an asp.net Web Application (Not Web Site) that I am trying
I am working on a web-based application using asp.net 4.0. I have some dlls
I have an ASP.Net web application that is deployed to a number of different
I am trying to design an ASP.net based mobile web application that should run
We've got an existing ASP.NET web application that already uses a home-grown role based

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.