Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/334.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Foreach-SQLDataReader_C#_Asp.net_.net - Fatal编程技术网

C# Foreach-SQLDataReader

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

我有一个页面,其中列出了数据库表中的行,并带有用户名和复选框。 我需要一个功能,当CheckBox.checked为true时向用户发送电子邮件,但不在我的页面中显示电子邮件。 我有这些方法:

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来发送电子邮件,并且工作正常!