C# 复选框列表显示所有选定的框
我提交表格并收到一封说明表格结果的电子邮件,在这种情况下,如果选中了三个复选框中的任何一个,则会出现这种情况。我目前的问题是,如果选中了多个复选框,则不会显示选中了第二个或第三个复选框 示例:我选中所有三个复选框我的结果是:C# 复选框列表显示所有选定的框,c#,asp.net,checkboxlist,C#,Asp.net,Checkboxlist,我提交表格并收到一封说明表格结果的电子邮件,在这种情况下,如果选中了三个复选框中的任何一个,则会出现这种情况。我目前的问题是,如果选中了多个复选框,则不会显示选中了第二个或第三个复选框 示例:我选中所有三个复选框我的结果是: 营销邮件:是的 第三方邮件:否 签证促销:否 什么时候应该显示为所有人都这样说是: if (OptList.Items[0].Selected) sb.Append("<b>Marketing Mailings:</b> Yes
- 营销邮件:是的
- 第三方邮件:否
- 签证促销:否
if (OptList.Items[0].Selected) sb.Append("<b>Marketing Mailings:</b> Yes<br />");
else sb.Append("<b>Marketing Mailings:</b> No<br />");
if (OptList.Items[1].Selected) sb.Append("<b>3rd Party Mailings:</b> Yes<br />");
else sb.Append("<b>3rd Party Mailings:</b> No<br />");
- 营销邮件:是的
- 第三方邮件:是
- 签证促销:是的
<td class="nobor">
<asp:CheckBoxList ID="OptList" runat="server">
</asp:CheckBoxList>
在“我的提交”中,单击创建电子邮件正文的位置:
sb.Append("<u>Opt-Out Preference</u><br/>");
if (OptList.SelectedItem.Value == "1") sb.Append("<b>Marketing Mailings:</b> Yes<br />");
else sb.Append("<b>Marketing Mailings:</b> No<br />");
if (OptList.SelectedItem.Value == "2") sb.Append("<b>3rd Party Mailings:</b> Yes<br />");
else sb.Append("<b>3rd Party Mailings:</b> No<br />");
if (OptList.SelectedItem.Value == "3") sb.Append("<b>VISA Promotions:</b> Yes<br />");
else sb.Append("<b>VISA Promotions:</b> No<br />");
sb.Append(“选择退出偏好
”);
如果(OptList.SelectedItem.Value==“1”)某人追加(“营销邮件:是
”);
其他人追加(“营销邮件:无
”);
如果(OptList.SelectedItem.Value==“2”)某人追加(“第三方邮件:是
”);
其他人追加(“第三方邮件:无
”);
如果(OptList.SelectedItem.Value==“3”)某人追加(“VISA促销:是
”);
其他人追加(“签证促销:无
”);
选择的编辑项将返回一个项目,而不是所有项目。
您应该将代码修改为以下内容:
if (OptList.Items[0].Selected) sb.Append("<b>Marketing Mailings:</b> Yes<br />");
else sb.Append("<b>Marketing Mailings:</b> No<br />");
if (OptList.Items[1].Selected) sb.Append("<b>3rd Party Mailings:</b> Yes<br />");
else sb.Append("<b>3rd Party Mailings:</b> No<br />");
这将返回所选的所有值的列表…您在代码中检查和/或获取所有已检查项的位置。。您需要利用ListItems上的foreach循环。如果您正在执行某种按钮单击,则可能应该在if(!IsPostBack)上添加一条Else语句,以便在u DoPostBack完成其工作/页面渲染后查看选中的项我已编辑了您的标题。请看,“,其中的共识是“不,他们不应该”。明白了,这是有道理的!谢谢,我会处理这些。@kcray也会更新以帮助您提取所选的值。。。祝您好运:)再次感谢您的第一个示例在进行了一次修改后运行良好,它需要是OptList.Items,而不是OptList.Item。谢谢,节省了我很多时间!
var ListOfSelectedValues = OptList.Items.Cast<ListItem>().Where(x => x.Selected).Select(x => x.Value).ToList();