2015-10-17 34 views
-1

我正在制作新闻通讯功能,并且我希望列出所有注册用户名称,姓氏和电子邮件地址(后端),以便管理员可以选择他将发送简讯给。我已经尝试使用复选框服务器控件,并试图让代码中的表在后面;数据库和所有工作正常。使用checkboxlist列出所有注册用户名单中的所有注册用户servercontrol

这里是我使用的代码:

ASP.NET,

<asp:CheckBoxList 
    ID="cblNyhedsBrev" 
    CssClass="cblNyhedsbrev" 
     RepeatDirection="Vertical" 
    runat="server"> 
</asp:CheckBoxList> 

代码隐藏:

foreach (DataRow hentmailliste in HentMails.HentMailListe().Rows) 
{ 
    litHentMails.Text = hentmailliste["fldNavn"].ToString(); 
    litHentMails.Text += hentmailliste["fldEfternavn"].ToString(); 
    cblNyhedsBrev.Items.Add(new ListItem(hentmailliste["fldMail"].ToString())); 
             //hentmailliste[""].ToString() + 
             //hentmailliste[""].ToString())); 
} 

回答

0

使用Entitify框架和LINQ拉名称列表,姓和电子邮件地址,并将LINQ结果绑定到gridview控件。

using (var ltr= new NewsLetterEntities()){ 
var results = ltr.Recepients.ToList(); 
} 

newsLetterGrid.Datasource=results; 
newsLetterGrid.Databind(); 

将复选框按钮添加到gridview itemtemplate部分。

在保存或电子邮件事件(无论你必须发送一封电子邮件)循环通过gridview行,看看是否复选框被选中。使用GridView控件findControl得到CheckBox控件:

CheckBox chk = (CheckBox)newsLetterGrid.FindControl("chkMyCheckBox"); 
if(chk.checked){ //extract email address from row and concatenate to emailString } 

串联所有电子邮件结果,并将其添加到您的sendEmail功能。