您可以使用 .Body 的 If 语句来实现电子邮件功能的点击按钮吗

Can You Use An If Statement For .Body For Email Functionality Onclick Of A Button

当我通过电子邮件向我发送详细信息时,页面上有一个按钮。这工作正常,但我有一个问题,因为我的过程中的一个问题是 raido 按钮选择。所选选项在我的确认页面上工作正常,但作为一个单选按钮,我需要一个 if 声明用于我的电子邮件,因为其中一个 ID 将是空白的。

有谁知道我该怎么做。

下面是我的 .body 电子邮件

的代码
msg.Body = Label1.Text + " " + Session["pg1input"].ToString()
           + Environment.NewLine.ToString() +
           Label2.Text + " " + Session["pg1dd"].ToString()
           + Environment.NewLine.ToString() +
           Label3.Text + " " + Session["pg2"].ToString()
           + Environment.NewLine.ToString() +
           Label4.Text + " " + Session["pg2Yes"].ToString()
           + Environment.NewLine.ToString() +
           Label4.Text + " " + Session["pg2No"].ToString();

根据上面的代码,下面是单选按钮行,因此 'pg2Yes' 将为空白或 'pg2No' 将为空白,具体取决于所选的单选按钮

Label4.Text + " " + Session["pg2Yes"].ToString()
+ Environment.NewLine.ToString() +
Label4.Text + " " + Session["pg2No"].ToString();

我更喜欢只显示一个 label4 并选择单选按钮。

我试过了

Label4.Text + " " + Session["pg2Yes"].ToString() + Session["pg2No"].ToString();

但是这导致电子邮件无法发送。

下面的 HTML 是我在确认页面上用来显示所选的相关单选按钮的内容

<div class="form-group">
     <div class="col-xs-12">
          <asp:Label ID="Label4" class="col-md-3 control-label" runat="server" Text="Kids?"></asp:Label>
          <div class="col-md-3 form-control-static">                            
               <% if (Session["pg2Yes"] == "Yes")
               {%>
                    <%=Session["pg2Yes"] %>
               <%}

              if (Session["pg2No"] == "No")
              {%>
                    <%=Session["pg2No"] %>
              <%} %>
          </div>
      </div>
 </div>

您可以使用 ?: conditional operator 设置要与 Label4.Text 连接的单选按钮值。

Label4.Text + " " + Session["pg2Yes"].ToString() == "Yes" 
    ? Session["pg2Yes"].ToString() 
    : Session["pg2No"].ToString();

无法相信经过将近一个月的尝试解决这个问题,我突然想到,只需为两个单选按钮使用相同的 session 名称,然后猜猜它的作用。

已更新 .cs 代码

    if (PhoneRadioButton.Checked)
    {
        Session["PrefContactRadioButton"] = PhoneRadioButton.Checked ? "Phone" : "";
    }
    else if (EmailRadioButton.Checked)
    {
        Session["PrefContactRadioButton"] = EmailRadioButton.Checked ? "Email" : "";
    }

然后更新我的确认页面以调用我的新 session 变量

    <div class="form-group">
        <asp:Label ID="Step01ContactMethod" class="col-xs-6 col-sm-3 control-label" runat="server" Text="Preferred method of contact:"></asp:Label>
        <div class="col-xs-6 col-sm-9 form-control-static">                            
            <%=Session["PrefContactRadioButton"] %>
        </div>
    </div>

最后更新了我的确认页面电子邮件正文

msg.Body = Step01ContactMethod.Text + " " + Session["PrefContactRadioButton"].ToString();

瞧,它起作用了。