级联下拉错误选择第一项而不是选定项 [英] Cascading Drop Down Error selects 1st item instead of selected item
问题描述
我在Asp.Net网站上使用级联下拉但是当我选择第三或第四项从下拉并保存它,它只存储第一个值。我填写了表格并从国家/地区选择国家/地区下拉菜单顺利运行但是当我选择选择国家时,状态下拉列表已填充并且当我选择状态并单击提交按钮时。国家选择的项目按选择存储,但状态下拉总是选择列表中的第一项。
protected void Page_Load(object sender,EventArgs e)
{
FirstName.Focus();
if(!IsPostBack)
{
FillCountry ();
}
public void FillStates()
{
cn.Open();
cmd.Connection = cn;
cmd.CommandText ="选择CountryID,来自CountryId ='"的国家/地区的州+ Country.SelectedValue +"'";
SqlDataReader dr = cmd.ExecuteReader();
State.Items.Clear();
State.DataSource = dr;
State.DataTextField =" States";
State.DataValueField =" CountryID";
State.DataBind();
State.Items.Insert(0," - Select - ");
cn.Close();
cmd.Dispose();
}
protected void Country_SelectedIndexChanged(object sender,EventArgs e)
{
FillStates();
I Am Using Cascading Drop down In Asp.Net Website But As I Select Third Or Forth Item From Drop down And Save It, It Stores First Value Only. I filled my form and select Country from country drop down it works smoothly but as i select select country accordingly state drop down is populated and as i select state and click on submit button. Country selected item is stored as per selection but state drop down always selects first item in the list.
protected void Page_Load(object sender, EventArgs e)
{
FirstName.Focus();
if (!IsPostBack)
{
FillCountry();
}
public void FillStates()
{
cn.Open();
cmd.Connection = cn;
cmd.CommandText = "Select CountryID, States from States where CountryId = '" + Country.SelectedValue + "'";
SqlDataReader dr = cmd.ExecuteReader();
State.Items.Clear();
State.DataSource = dr;
State.DataTextField = "States";
State.DataValueField = "CountryID";
State.DataBind();
State.Items.Insert(0, "--Select--");
cn.Close();
cmd.Dispose();
}
protected void Country_SelectedIndexChanged(object sender, EventArgs e)
{
FillStates();
推荐答案
这就像将标准文本框值保存到数据库中一样。
有关保存到数据库的标准教程,请通过 -
将文本框中的数据保存到asp.net中的数据库 [ ^ ]
如何在asp.net中将数据插入数据库 [ ^ ]
有关下拉列表的具体示例 -
选中后,从下拉列表中保存数据库中的多个选定列表项 [ ^ ]
This is to be done just like you would save a standard textbox value into the database.
For standard tutorials on saving to database, go through -
Save data from textboxes to database in asp.net [^]
How to Insert data into database in asp net [^]
For specific example on dropdowns -
Save multiple selected list items in database from dropdown list when selected[^]
protected void Page_Init(object sender, EventArgs e)
{
if (!IsPostBack)
{
FillCountry();
}
}
public void FillCountry()
{
cn.Open();
cmd.Connection = cn;
cmd.CommandText = "Select ID, Countries from Countries";
SqlDataReader dr = cmd.ExecuteReader();
Country.Items.Clear();
Country.DataSource = dr;
Country.DataTextField = "Countries";
Country.DataValueField = "ID";
Country.DataBind();
Country.Items.Insert(0, "--Select--");
cn.Close();
cmd.Dispose();
}
public void FillStates()
{
if (Page.IsPostBack)
{
cn.Open();
cmd.Connection = cn;
cmd.CommandText = "Select StateID, States from States where CountryId = '" + Country.SelectedValue + "'";
SqlDataReader dr = cmd.ExecuteReader();
State.Items.Clear();
State.DataSource = dr;
State.DataTextField = "States";
State.DataValueField = "StateID";
State.DataBind();
State.Items.Insert(0, "--Select--");
cn.Close();
cmd.Dispose();
}
}
protected void Country_SelectedIndexChanged(object sender, EventArgs e)
{
FillStates();
}
}
这篇关于级联下拉错误选择第一项而不是选定项的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!