Hej, nåt som funkar, och returnerar det du vill? Nix pix det funkar inte, det är väl inte så konstigt.. EventArgs *ska* inte innehålla nån .RowHämta data ur en kolumn från en DataGrid
Jag har försökt göra ett mailutskick via en DataGrid,
Rad nr 3 är mailadressen och den vill jag få ut till mail.To.Add(sTo);
Här är koden:
string sTo;
foreach (GridViewRow row in GridView1.Rows);
sTo = GridView1.RowDataBound[3].ToString();
//create the mail message
MailMessage mail = new MailMessage();
Men jag får error:
CS0079: The event 'System.Web.UI.WebControls.GridView.RowDataBound' can only appear on the left hand side of += or -=
Sv: Hämta data ur en kolumn från en DataGrid
..nä men seriöst
row.Cells[3].ToString();
antagligen, eller eventuellt med index 2 beroende på ifall ditt index är 1 eller 0 baserat
Sv:Hämta data ur en kolumn från en DataGrid
CS0117: 'System.EventArgs' does not contain a definition for 'Row'
Min kod ser ut så här:
protected void Skicka_Click(object sender, EventArgs e)
{
string sTo;
foreach(DataGridItem item in GridView1.Rows);
sTo = e.Row.Cells[1].ToString(); //GridView1.RowDataBound[3].ToString();
//create the mail message
MailMessage mail = new MailMessage();
//set the addresses
//to specify a friendly 'from' name, we use a different ctor
mail.From = new MailAddress("xxx@xxx.xx");
//since the To,Cc, and Bcc accept addresses, we can use the same technique as the From address
//since the To, Cc, and Bcc properties are collections, to add multiple addreses, we simply call .Add(...) multple times
mail.To.Add(sTo);
//set the content
mail.Subject = "Överskrift";
mail.Body = "Test sida skickad till" + sTo + "<br>";
mail.IsBodyHtml = true;
//send the message
SmtpClient smtp = new SmtpClient("smtprelay1.telia.com");
smtp.Timeout = 5000;
smtp.Send(mail);
}
}
Sv: Hämta data ur en kolumn från en DataGrid
Läser du mitt förra inlägg så inser du att där inte står nåt om e.Row utan enbart row, varför testade du inte så?
men för att undvika nya missförstånd:
protected void Skicka_Click(object sender, EventArgs e)
{
string sTo;
foreach(DataGridItem item in GridView1.Rows) { // här ska det INTE vara nåt semikolon
// loopvariabeln, å varifrån kommer 1 nu då mitt i allt btw?
sTo = item.Cells[1].ToString(); //GridView1.RowDataBound[3].ToString();
//create the mail message
MailMessage mail = new MailMessage();
//set the addresses
//to specify a friendly 'from' name, we use a different ctor
mail.From = new MailAddress("xxx@xxx.xx");
//since the To,Cc, and Bcc accept addresses, we can use the same technique as the From address
//since the To, Cc, and Bcc properties are collections, to add multiple addreses, we simply call .Add(...) multple times
mail.To.Add(sTo);
//set the content
mail.Subject = "Överskrift";
mail.Body = "Test sida skickad till" + sTo + "<br>";
mail.IsBodyHtml = true;
//send the message
SmtpClient smtp = new SmtpClient("smtprelay1.telia.com");
smtp.Timeout = 5000;
smtp.Send(mail);
}
}