我有一个可编辑的GridView,可将其内容通过电子邮件发送给所有公司。 Gridview的第一行包含公司名称(每行只有1个名称)。我想根据第一行中的公司名称将Gridview通过电子邮件发送到特定的电子邮件地址。例如 - 如果第一行等于companyname1,则将电子邮件发送给公司1;如果第一行等于公司二,那么将电子邮件发送给公司二。我尝试了以下方法:
// C# - 按钮背后的代码片段
foreach (GridView item in gvCompanies.Rows)
{
if (item.SelectedRow.Cells[1].Text == "company1")
{
txtEmailAddresses.Text = "company1@gmail.com";
}
else if (item.SelectedRow.Cells[1].Text == "company2")
{
txtEmailAddresses.Text = "company2.com";
}
else if (item.SelectedRow.Cells[1].Text == "company3")
{
txtEmailAddresses.Text = "company3@aol.com";
}
else if (item.SelectedRow.Cells[1].Text == "company4")
{
txtEmailAddresses.Text = "company@aol.com";
}
}
......有人可以就这里的错误提供一些指导吗?
答案 0 :(得分:0)
尝试这样的事情......
protected void gvCompanies_SelectedIndexChanged(object sender, EventArgs e)
{
//for (int i = 0; i < gvCompanies.Rows.Count; i++)
// {
if (gvCompanies.SelectedIndex == i)
{
String compName = gvCompanies.Rows[i].Cells[1].Text; //Gets the data cell value from the grid to string
if(compName == "company1")
{
txtEmailAddresses.Text = "company1@gmail.com";
}
else if(compName == "company2")
{
txtEmailAddresses.Text = "company2@gmail.com";
}
........and so on
}
// }
}
您需要设置gridview的以下2个属性。
1] AutoGenerateSelectButton="true"
和
2] onselectedindexchanged="GridView1_SelectedIndexChanged"
。