C# 根据签入表单在html电子邮件模板中将复选框标记为true

C# 根据签入表单在html电子邮件模板中将复选框标记为true,c#,javascript,asp.net,html,C#,Javascript,Asp.net,Html,我必须发送一封包含一些复选框的电子邮件。我的aspx表单也有html电子邮件模板中的相同复选框,但表单复选框是asp控件 如果用户勾选1复选框,而未选中其他复选框, 那么,我如何将检查值发送到html模板并进入html模板并选择未选中的 根据用户在表单中选择的内容,在html模板中选中复选框 html复选框和aspx表单复选框都有相同的文本。您是如何生成和格式化电子邮件的?您是否在VB.NET/C中使用System.NET.Mail执行此操作?如果您是按照我认为的方式进行的,我认为您最好的选择是

我必须发送一封包含一些复选框的电子邮件。我的aspx表单也有html电子邮件模板中的相同复选框,但表单复选框是asp控件

如果用户勾选1复选框,而未选中其他复选框, 那么,我如何将检查值发送到html模板并进入html模板并选择未选中的 根据用户在表单中选择的内容,在html模板中选中复选框


html复选框和aspx表单复选框都有相同的文本。

您是如何生成和格式化电子邮件的?您是否在VB.NET/C中使用System.NET.Mail执行此操作?如果您是按照我认为的方式进行的,我认为您最好的选择是在使用模板格式化电子邮件正文时传递一个真/假值数组,并使用这些值选中/取消选中电子邮件中的复选框。例如:

//Determine which checkboxes are checked and add them to the array.
Dim checkedBoxes New ArrayList
checkedBoxes.Add(IIf(chk_first.Checked, "checked", ""))
checkedBoxes.Add(IIf(chk_second.Checked, "checked", ""))
checkedBoxes.Add(IIf(chk_third.Checked, "checked", ""))

//Then you'd have your email generation code here. This is only the body part of it.
email.Body = String.Format(File.ReadAllText([YourTemplateFile]), checkedBoxes.ToArray())
当然,我在这里做了很多假设。然后,在模板文件中,每个选中的值将使用数组中的真/假值,因此第一个值将具有:

<input type="checkbox" name="check1" value="check1" {0} />

我希望这有帮助。如果我不太了解,请发布您用于生成和发送电子邮件的代码,我将能够提供更多帮助。

显示您的代码,以便我们更好地了解您的查询。您认为它不适用吗?它给了你任何错误吗?请张贴你正在使用的代码,否则这是一个猜谜游戏。或者您遇到了问题,因为当您需要C时,我发布了一个VB.NET示例?行string body=string.FormatFile。ReadAllText@D:\emailer.txt,chkboxes;它给出了以下异常索引,基于零的索引必须大于或等于零,并且小于参数列表的大小。ReadAllText@D:\emailer.txt,chk1.Checked,chk2.Checked,chk3.Checked,chk4.Checked;公共静态字符串GetEmailMessageBodystring ResourceContent,params对象[]值{try{return string.FormatResourceContent,Values;}catch Exception ex{throw ex;}}}但此代码勾选电子邮件中的所有复选框,我的表单中也有一些文本框,这些值也和复选框一起发送。对不起,我的代码错了。尝试改用ArrayList。请参见上面编辑的示例。将ArrayList转换为array与我尝试的方法相同,我收集了object type array中的所有控件,同样的问题是相同的,我只选中了2个复选框,但当我收到电子邮件时,所有复选框都标记为true。