2015-10-17 32 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功能。