C# Foreach-SQLDataReader
我有一个页面,其中列出了数据库表中的行,并带有用户名和复选框。 我需要一个功能,当CheckBox.checked为true时向用户发送电子邮件,但不在我的页面中显示电子邮件。 我有这些方法:C# Foreach-SQLDataReader,c#,asp.net,.net,C#,Asp.net,.net,我有一个页面,其中列出了数据库表中的行,并带有用户名和复选框。 我需要一个功能,当CheckBox.checked为true时向用户发送电子邮件,但不在我的页面中显示电子邮件。 我有这些方法: public class ListRequest { public string UserName { get; set; } public string Email { get; set; } } public List<ListRequest> PreencheValor
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;
}
公共类ListRequest
{
公共字符串用户名{get;set;}
公共字符串电子邮件{get;set;}
}
公共列表预检值(SqlDataReader)
{
var lista=新列表();
while(reader.Read())
{
var listRequest=new listRequest();
listRequest.UserName=reader[“User”].ToString();
listRequest.Email=reader[“Email”].ToString();
添加(listRequest);
}
返回列表a;
}
公共列表顾问请求()
{
var lstretrono=新列表();
使用(objConexao=newsqlconnection(strStringConexao))
{
使用(objCommand=newsqlcommand(strSelectPorID,objConexao))
{
尝试
{
objConexao.Open();
objCommand.Parameters.AddWithValue(“@UserName”,dm3);
var objDataReader=objCommand.ExecuteReader();
if(objDataReader.HasRows)
lstRetrono=预扣税(objDataReader);
}
捕获(例外情况除外)
{
抛出新异常(例如消息);
}
最后
{
objConexao.Close();
}
}
}
返回lstrutno;
}
我怎样才能为这件事做好准备??我需要将所有字符串电子邮件发送到此列表,但不在我的页面中显示电子邮件。
现在,当CheckBox.cheked为true时,我使用foreach(GridView.Rows中的GridViewRow行)获取名称。
我的问题很清楚?
Tks 如果要对objDataReader中的每一行执行某些操作,请使用
While objDataReader.Read()
'do something
End While
如果要对objDataReader中的每一行执行某些操作,请使用
While objDataReader.Read()
'do something
End While
因此,您似乎有代码来获取用户名的电子邮件地址;你不能直接调用这个方法,然后遍历返回的列表吗?您卡在哪里了?一个选项是插入一个带有email值的隐藏字段,然后以与复选框相同的方式获得隐藏字段控件。如果你想隐藏电子邮件从隐藏字段,考虑缓存绑定的集合,并插入一个标识符到隐藏字段。@ McCraveLL我有一个方法来发送事件(一个按钮在我的页面)。在这种方法中,我需要一个foreach来在选中时将每封电子邮件发送到用户名。我是这么说的,我制作了一个foreach(GridView.Rows中的GridViewRow行),但它不会收到电子邮件,因为电子邮件不会显示在我的GridView中。我是如何在我的名单上占一席之地的?@gustavodidomenico,谢谢你的回答!我创建了一个asp:HiddenField来发送电子邮件,并且工作正常!因此,您似乎有代码来获取用户名的电子邮件地址;你不能直接调用这个方法,然后遍历返回的列表吗?您卡在哪里了?一个选项是插入一个带有email值的隐藏字段,然后以与复选框相同的方式获得隐藏字段控件。如果你想隐藏电子邮件从隐藏字段,考虑缓存绑定的集合,并插入一个标识符到隐藏字段。@ McCraveLL我有一个方法来发送事件(一个按钮在我的页面)。在这种方法中,我需要一个foreach来在选中时将每封电子邮件发送到用户名。我是这么说的,我制作了一个foreach(GridView.Rows中的GridViewRow行),但它不会收到电子邮件,因为电子邮件不会显示在我的GridView中。我是如何在我的名单上占一席之地的?@gustavodidomenico,谢谢你的回答!我创建了一个asp:HiddenField来发送电子邮件,并且工作正常!