我在asp.net网站上有页面。我的数据库有3列的表。
我在其中包含带Checkbox的GridView
当检查CheckBox1为true时,我希望网格视图行中的每一行都返回DropDownList1中的行的id。这段代码成功完成了:
foreach (GridViewRow gvr in GridView1.Rows)
{
if (((CheckBox)gvr.FindControl("CheckBox1")).Checked == true)
{
string data;
data = gvr.Cells[0].Text;
DropDownList1.Items.Add(data);
}
}
问题是我想将数据库中的state_p列更新为 “1”WHERE id ='“+ DropDownList1.Items +”'。
例如:
protected void Button1_Click(object sender, EventArgs e)
{
String searchstr = String.Format("SELECT * From mytable WHERE id='" + Dropdownlist1.items + "'");
SqlDataReader dr = findrecords(searchstr);
if (dr.HasRows)
{
string updatestr = string.Format(" update mytable " +
"set state_p=N'{0}'" +
" WHERE id={1}",
1, Dropdownlist1.items);
int result = updatedb(updatestr);
if (result > 0)
{
lbl_error.ForeColor = Color.Green;
lbl_error.Text = "ok";
GridView1.DataBind();
}
else
{
lbl_error.ForeColor = Color.Red;
lbl_error.Text = " ";
GridView1.DataSource = null;
GridView1.DataBind();
}
}
else
{
lbl_error.ForeColor = Color.Red;
lbl_error.Text = "no records exist";
}
}
我该怎么做?请帮帮我。**
答案 0 :(得分:1)
您必须使用以下代码在DropDownList中设置 数据 和 值 ,例如:
using System.Collections.Generics;
...
List<ListItem> items = new List<ListItem>();
items.Add(new ListItem("Item 2", "Value 2"));
items.Add(new ListItem("Item 1", "Value 1"));
items.Add(new ListItem("Item 3", "Value 3"));
items.Sort(delegate(ListItem item1, ListItem item2)
{ return item1.Text.CompareTo(item2.Text); });
dropdown.Items.AddRange(items.ToArray());
并且选择了DropDownList的get值:
var i = myDropDown.SelectedValue;
处理:
where id = i;
添加示例:
How to add an item to a drop down list in asp.net
获取示例:
http://www.codeproject.com/Questions/484535/howplustoplusdisplayplusselectedplusvaluesplusfrom
我希望这对你有所帮助。