【发布时间】:2013-07-10 13:48:13
【问题描述】:
我有一个页面列出了我的数据库表中的行,其中包含用户名和复选框。 我需要一个在 CheckBox.checked 为真时向用户发送电子邮件的功能,但不在我的页面中显示电子邮件。 我有这些方法:
public class ListRequest
{
public string UserName { get; set; }
public string Email { get; set; }
}
public List<ListRequest> PreencheValores(SqlDataReader reader)
{
var lista = new List<ListRequest>();
while (reader.Read())
{
var listRequest = new ListRequest();
listRequest.UserName = reader["User"].ToString();
listRequest.Email = reader["Email"].ToString();
lista.Add(listRequest);
}
return lista;
}
public List<ListRequest> ConsultarRequest()
{
var lstRetorno = new List<ListRequest>();
using (objConexao = new SqlConnection(strStringConexao))
{
using (objCommand = new SqlCommand(strSelectPorID, objConexao))
{
try
{
objConexao.Open();
objCommand.Parameters.AddWithValue("@UserName", dm3);
var objDataReader = objCommand.ExecuteReader();
if (objDataReader.HasRows)
lstRetorno = PreencheValores(objDataReader);
}
catch (Exception ex)
{
throw new Exception(ex.Message);
}
finally
{
objConexao.Close();
}
}
}
return lstRetorno;
}
我怎样才能为此做foreach?我需要将所有字符串电子邮件发送到此列表,但不在我的页面中显示电子邮件。 现在,当 CheckBox.cheked 为真时,我使用 foreach(GridView.Rows 中的 GridViewRow 行)来获取名称。 我的问题很清楚? 谢了!
【问题讨论】:
-
所以看起来你有代码来获取用户名的电子邮件地址;你不能调用那个方法,然后遍历返回的列表吗?你被困在哪里了?
-
一种选择是使用电子邮件值插入一个隐藏字段,然后以与复选框相同的方式获得隐藏字段控件。如果您想隐藏隐藏字段中的电子邮件,请考虑缓存绑定的集合并将标识符插入隐藏字段。
-
@MarcGravell 我有一个方法来事件发送(我的页面中的一个按钮)。在这种方法中,我需要一个 foreach 来在选中时将每封电子邮件发送给用户名。我怎么说,我做了一个 foreach(GridView.Rows 中的 GridViewRow 行),但它没有收到电子邮件,因为电子邮件没有显示在我的 GridView 中。我如何为我的列表创建一个 foreach?
-
@gustavodidomenico 谢谢你的回答!我创建了一个 asp:HiddenField to Email 并且工作正常!