L oop через список флажков и отправка сообщений электронной почты на основе выбора (ов) - PullRequest
0 голосов
/ 05 мая 2020

Выборов CheckBoxList (разрешено более одного). Я пытаюсь найти способ l oop через все выборы. Если элемент отмечен, он отправляет электронное письмо указанному получателю c. Может быть выбрано несколько элементов. Как мне это настроить? Ниже показано, что я сделал и отлично работает только для выбранного элемента, но если я выберу более 1 элемента, это не сработает. Я занимаюсь ASP / C# около 4 месяцев. Цените помощь.

ASP. net

<asp:CheckBoxList ID="CheckBoxList1" runat="server" RepeatColumns="3">
<asp:ListItem >Conceptual Object Model</asp:ListItem>
<asp:ListIteM >Application Communication Diagram</asp:ListIteM>
<asp:ListItem >Application / Functionality Matrix</asp:ListItem>
<asp:ListItem >Application and User Location Model</asp:ListItem>
<asp:ListItem >Data Model</asp:ListItem>
<asp:ListItem >Role/Application Matrix</asp:ListItem>
<asp:ListItem >Process Model / Activity Diagrams</asp:ListItem>
<asp:ListItem >One Boeing Capability Map (OBCM)</asp:ListItem>
<asp:ListItem >Other (list architecture models below)</asp:ListItem>
</asp:CheckBoxList>

C#

if (CheckBoxList1.SelectedValue == "Data Model")
{
    // Session["sess_GRPInbox"] = "email1.com";
    Session["sess_2ndEmailperson"] = "email2.com";
}
else
{
    Session["sess_2ndEmailperson"] = "";
}

if (CheckBoxList2.SelectedValue == "No")
{
    Session["sess_3rdEmailperson"] = "email3.com";
}
else
{
    Session["sess_3rdEmailperson"] = "";
}

Session["sess_GrpInbox"] = "email1.com";

Response.Redirect("EmailPage.aspx");

Emailer aspx.cs page

MailAddress from = new MailAddress(Session["sess_GRPInbox"].ToString());
// MailAddress from = new MailAddress("email1.com");
// MailAddress to = new MailAddress(txtOriginatorEmail.Text.Trim());
MailAddress to = new MailAddress("email1.com");
MailMessage message = new MailMessage(from, to);

// 2nd Email Recipient:
string str_sess_2ndEmailperson = Session["sess_2ndEmailperson"].ToString();

if (str_sess_2ndEmailperson == "") 
{ 
}
else
{
     message.To.Add(Session["sess_2ndEmailperson"].ToString());
}

// string str_sess_3rdEmailperson = Session["sess_3rdEmailperson"].ToString();
// if (str_sess_3rdEmailperson == "")
// {
// }
// else
// {
//     message.To.Add(Session["sess_3rdEmailperson"].ToString());
// }


message.Subject = "Issue Management Submittal Confirmation";
message.IsBodyHtml = true;

String strBody = @"A new proposed issue has been submitted.<br />Click here to view the issue:<br />";

message.Body = strBody;

1 Ответ

0 голосов
/ 05 мая 2020

Вам нужно l oop через список флажков, например:

 foreach (ListItem item in CheckBoxList1.Items)
 {
      if(item.Checked)
      {
           sendEmail(item.Value); //assuming your val is the email address
      }
 }

Затем в вашей подпрограмме электронной почты вы передаете адрес электронной почты в качестве параметра

 private void sendEmail(string emailAddress)
 {
      //call your email routine here


 }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...