Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/329.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/29.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 单击向导中的“完成”按钮后,当系统发送电子邮件时,如何向系统添加(请稍候)屏幕或弹出窗口?_C#_Asp.net_Sql Server 2008 R2 - Fatal编程技术网

C# 单击向导中的“完成”按钮后,当系统发送电子邮件时,如何向系统添加(请稍候)屏幕或弹出窗口?

C# 单击向导中的“完成”按钮后,当系统发送电子邮件时,如何向系统添加(请稍候)屏幕或弹出窗口?,c#,asp.net,sql-server-2008-r2,C#,Asp.net,Sql Server 2008 R2,我使用ASP.NET向导控件向我开发的基于web的应用程序添加新用户。一切都很好。现在,我从系统管理员那里得到了一个新的要求,即向新用户发送电子邮件通知,告知他已添加到系统中。我在代码中添加了邮件功能,它可以正常工作。现在,单击向导上的“完成”按钮后,用户将被添加到数据库中,系统将向用户发送电子邮件通知,然后向导将向我显示成功消息。但是,有时需要很长时间,系统才会将该电子邮件发送给用户,向导才会向我显示成功消息 那么,在系统向用户发送电子邮件的过程中,如何显示(请稍候)屏幕/弹出窗口? 带有邮件

我使用ASP.NET向导控件向我开发的基于web的应用程序添加新用户。一切都很好。现在,我从系统管理员那里得到了一个新的要求,即向新用户发送电子邮件通知,告知他已添加到系统中。我在代码中添加了邮件功能,它可以正常工作。现在,单击向导上的“完成”按钮后,用户将被添加到数据库中,系统将向用户发送电子邮件通知,然后向导将向我显示成功消息。但是,有时需要很长时间,系统才会将该电子邮件发送给用户,向导才会向我显示成功消息

那么,在系统向用户发送电子邮件的过程中,如何显示(请稍候)屏幕/弹出窗口?

带有邮件功能的代码隐藏:

 protected void Wizard1_FinishButtonClick(object sender, WizardNavigationEventArgs e)
    {

        string username = TextBox1.Text;

        if (!String.IsNullOrEmpty(radio1.SelectedValue) && !String.IsNullOrEmpty(username))
        {
            string connString = "Data Source=localhost;Initial Catalog=TestDB;Integrated Security=True";

            string insertUserCommand = "INSERT INTO employee (Name, Username, JobTitle, BadgeNo, EmpOrgType, DivisionCode) values (@Name, @Username, @JobTitle, @BadgeNo, @EmpOrgType, @DivisionCode)";
            string cmdText = "SELECT Count(*) FROM employee WHERE Username = '" + username + "'";
            using (SqlConnection conn = new SqlConnection(connString))
            {
                conn.Open();
                // Open DB connection.
                using (SqlCommand cmd = new SqlCommand(cmdText, conn))
                {
                    if ((int)cmd.ExecuteScalar() == 0){

                        SqlCommand cmd2 = new SqlCommand(insertUserCommand, conn);
                        cmd2.Parameters.AddWithValue("@Name", user.Name);
                        cmd2.Parameters.AddWithValue("@Username", username);
                        cmd2.Parameters.AddWithValue("@JobTitle", jobTitle);
                        cmd2.Parameters.AddWithValue("@BadgeNo", EmpNo.));
                        cmd2.Parameters.AddWithValue("@EmpOrgType", orgType);
                        cmd2.Parameters.AddWithValue("@DivisionCode", orgCode);
                        cmd2.ExecuteNonQuery();
                    }

                }
            }

            //For updating the role of the user
            string deleteCommand = "DELETE FROM UserRole where Username=@Username";
            string insertCommand = "INSERT INTO UserRole (RoleID,Username) values(@RoleID,@Username)";
            using (SqlConnection conn = new SqlConnection(connString))
            {
                conn.Open();
                //using (SqlCommand cmd = new SqlCommand(cmdText, conn))
                using (SqlCommand cmd = new SqlCommand(deleteCommand, conn))
                {
                    cmd.Parameters.AddWithValue("@Username", username);
                    cmd.ExecuteNonQuery();
                    //Now the insert
                    cmd.CommandText = insertCommand;
                    cmd.Parameters.Clear(); 
                    cmd.Parameters.AddWithValue("@RoleID", radio1.SelectedValue);
                    cmd.Parameters.AddWithValue("@Username", username);
                    cmd.ExecuteNonQuery();
                    //infoSpan.InnerText = String.Format("The users role has been updated to - {0}", radio1.SelectedValue);
                    //cmd.ExecuteScalar();
                    //infoSpan.InnerText = String.Format("The users role has been updated to - {0}", radio1.SelectedValue);
                }
            }

            Wizard1.Visible = false;
            wizard.InnerHtml = @"<p><b>The task has been done successfully.</b> <br /> <a href='UserManagement.aspx'>Edit Another User</a></p>";
        }

        SendEmailToUser(username);

    }
/*****************************************************/


    protected void SendNotificationByEmail(string toAddresses, string fromAddress, string MailSubject, string MessageBody, bool isBodyHtml)
    {
        SmtpClient sc = new SmtpClient("MailAddress");
        try
        {
            MailMessage msg = new MailMessage();
            msg.From = new MailAddress("test@mailAddress.com", "Test Sys");


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

    }

    protected void Send(string username)
    {
        string connString = "Data Source=localhost;Initial Catalog=TestDB;Integrated Security=True";

        string networkID = username.ToString();

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

            //initiate the varibles that will be retreived from the database
            string name = null;

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

            string cmdText2 = @"SELECT     Name
                                FROM       dbo.employee
                                WHERE     (Username = @networkID)";
            using (SqlCommand cmd = new SqlCommand(cmdText2, conn))
            {
                cmd.Parameters.AddWithValue("@networkID", networkID);
                SqlDataReader reader = cmd.ExecuteReader();
                if (reader != null)
                {
                    if (reader.Read())
                    {
                        name = reader["Name"].ToString();
                        sbEmailAddresses.Append(username).Append("@mailAddress.com");
                    }
                }

                //var sEMailAddresses = sbEmailAddresses.ToString();
                string body = @"...........................";
                SendNotificationByEmail(sbEmailAddresses.ToString(), "", "Welcome...", body, true);
                sbEmailAddresses.Clear();
                reader.Close();


            }

            conn.Close();
        }
    }
protectedvoid向导1\u finishbutton单击(对象发送方,向导导航目标)
{
字符串username=TextBox1.Text;
如果(!String.IsNullOrEmpty(radio1.SelectedValue)和&!String.IsNullOrEmpty(username))
{
string connString=“数据源=本地主机;初始目录=TestDB;集成安全性=True”;
string insertUserCommand=“将值(@Name、@Username、@JobTitle、@BadgeNo、@EmpOrgType、@DivisionCode)插入员工(姓名、用户名、职务头衔、徽章编号、EmpOrgType、部门代码)中”;
string cmdText=“从用户名为“+”用户名为“+”的员工中选择计数(*);
使用(SqlConnection conn=newsqlconnection(connString))
{
conn.Open();
//打开数据库连接。
使用(SqlCommand cmd=newsqlcommand(cmdText,conn))
{
如果((int)cmd.ExecuteScalar()==0){
SqlCommand cmd2=新的SqlCommand(insertUserCommand,conn);
cmd2.Parameters.AddWithValue(“@Name”,user.Name);
cmd2.Parameters.AddWithValue(“@Username”,Username);
cmd2.Parameters.AddWithValue(“@JobTitle”,JobTitle);
cmd2.Parameters.AddWithValue(“@BadgeNo”,EmpNo.);
cmd2.Parameters.AddWithValue(“@EmpOrgType”,orgType);
cmd2.Parameters.AddWithValue(“@DivisionCode”,orgCode);
cmd2.ExecuteNonQuery();
}
}
}
//用于更新用户的角色
string deleteCommand=“从UserRole中删除,其中Username=@Username”;
string insertCommand=“插入UserRole(RoleID,Username)值(@RoleID,@Username)”;
使用(SqlConnection conn=newsqlconnection(connString))
{
conn.Open();
//使用(SqlCommand cmd=newsqlcommand(cmdText,conn))
使用(SqlCommand cmd=newsqlcommand(deletecondm,conn))
{
cmd.Parameters.AddWithValue(“@Username”,Username);
cmd.ExecuteNonQuery();
//现在插入
cmd.CommandText=插入命令;
cmd.Parameters.Clear();
cmd.Parameters.AddWithValue(“@RoleID”,radio1.SelectedValue);
cmd.Parameters.AddWithValue(“@Username”,Username);
cmd.ExecuteNonQuery();
//infoSpan.InnerText=String.Format(“用户角色已更新为-{0}”,radio1.SelectedValue);
//cmd.ExecuteScalar();
//infoSpan.InnerText=String.Format(“用户角色已更新为-{0}”,radio1.SelectedValue);
}
}
向导1.可见=假;
wizard.InnerHtml=@“任务已成功完成。

”; } SendEmailToUser(用户名); } /*****************************************************/ 受保护的void SendNotificationByEmail(string to Address、string fromAddress、string MailSubject、string MessageBody、bool isBodyHtml) { SmtpClient sc=新的SmtpClient(“邮件地址”); 尝试 { MailMessage msg=新的MailMessage(); msg.From=新邮件地址(“test@mailAddress.com“,“测试系统”); msg.Bcc.Add(地址); msg.Subject=MailSubject; msg.Body=MessageBody; msg.IsBodyHtml=IsBodyHtml; sc.Send(msg); } 捕获(例外情况除外) { 掷骰子; } } 受保护的无效发送(字符串用户名) { string connString=“数据源=本地主机;初始目录=TestDB;集成安全性=True”; 字符串networkID=username.ToString(); 使用(SqlConnection conn=newsqlconnection(connString)) { var sbEmailAddresses=newsystem.Text.StringBuilder(2000); //启动将从数据库检索的变量 字符串名称=null; //打开数据库连接。 conn.Open(); 字符串cmdText2=@“选择名称” 来自dbo.employee 其中(用户名=@networkID)”; 使用(SqlCommand cmd=newsqlcommand(cmdText2,conn)) { cmd.Parameters.AddWithValue(“@networkID”,networkID); SqlDataReader=cmd.ExecuteReader(); if(读卡器!=null) { if(reader.Read()) { name=reader[“name”].ToString(); sbEmailAddresses.Append(用户名).Append(@mailAddress.com)); } } //var-sEMa