<div class="divStyle1 " align="left">
<div class="divStyle1" align="left" style="font-size:small">选择商品省市:</div>
<asp:DropDownList ID="dropProv" runat="server" AutoPostBack="True"
onselectedindexchanged="dropProv_SelectedIndexChanged">
</asp:DropDownList>
<asp:DropDownList ID="dropCity" runat="server" AutoPostBack="True"
onselectedindexchanged="dropCity_SelectedIndexChanged" >
</asp:DropDownList>
</div> public void bindProvince()
{ //dropdownlist的省份选择
try
{
string connString = System.Configuration.ConfigurationManager.AppSettings["ConnectionString"];
SqlConnection cn = new SqlConnection(connString);
SqlCommand cmd = new SqlCommand("select * from Province", cn);
SqlDataAdapter ada = new SqlDataAdapter(cmd);
DataSet ds = new DataSet();
ada.Fill(ds, "Province");
dropProv.DataSource = ds.Tables["Province"].DefaultView;
dropProv.DataValueField = "Prov_ID";
dropProv.DataTextField = "Prov_Name";
dropProv.DataBind();
dropProv.Items.Insert(0, new ListItem("==请选择==", ""));
}
catch
{
} }
protected void dropProv_SelectedIndexChanged(object sender, EventArgs e)
{//dropdownlist的市级选择 try
{
int aa = Convert.ToInt32(dropProv.SelectedValue.ToString());
string connString = System.Configuration.ConfigurationManager.AppSettings["ConnectionString"];
SqlConnection cn = new SqlConnection(connString);
SqlCommand cmd = new SqlCommand("select * from City where Prov_ID=@proid", cn);
cmd.Parameters.Add("@proid", SqlDbType.Int).Value = aa;
SqlDataAdapter dap = new SqlDataAdapter(cmd);
DataSet ds = new DataSet();
dap.Fill(ds, "City");
dropCity.DataSource = ds.Tables["City"].DefaultView;
dropCity.DataValueField = ds.Tables["City"].Columns[0].ColumnName;
dropCity.DataTextField = ds.Tables["City"].Columns[1].ColumnName;
dropCity.DataBind();
dropCity.Items.Insert(0, new ListItem("==请选择==", ""));
}
catch
{
}}
上面是问题的代码,省份数据已经绑定上了,但是选择完省份之后就出现“输入字符串的格式不正确”,我打断点执行之后看到没有值,就是说选择完省份之后没传递过去值
求问怎么弄啊????我弄了好多方法都不行
<div class="divStyle1" align="left" style="font-size:small">选择商品省市:</div>
<asp:DropDownList ID="dropProv" runat="server" AutoPostBack="True"
onselectedindexchanged="dropProv_SelectedIndexChanged">
</asp:DropDownList>
<asp:DropDownList ID="dropCity" runat="server" AutoPostBack="True"
onselectedindexchanged="dropCity_SelectedIndexChanged" >
</asp:DropDownList>
</div> public void bindProvince()
{ //dropdownlist的省份选择
try
{
string connString = System.Configuration.ConfigurationManager.AppSettings["ConnectionString"];
SqlConnection cn = new SqlConnection(connString);
SqlCommand cmd = new SqlCommand("select * from Province", cn);
SqlDataAdapter ada = new SqlDataAdapter(cmd);
DataSet ds = new DataSet();
ada.Fill(ds, "Province");
dropProv.DataSource = ds.Tables["Province"].DefaultView;
dropProv.DataValueField = "Prov_ID";
dropProv.DataTextField = "Prov_Name";
dropProv.DataBind();
dropProv.Items.Insert(0, new ListItem("==请选择==", ""));
}
catch
{
} }
protected void dropProv_SelectedIndexChanged(object sender, EventArgs e)
{//dropdownlist的市级选择 try
{
int aa = Convert.ToInt32(dropProv.SelectedValue.ToString());
string connString = System.Configuration.ConfigurationManager.AppSettings["ConnectionString"];
SqlConnection cn = new SqlConnection(connString);
SqlCommand cmd = new SqlCommand("select * from City where Prov_ID=@proid", cn);
cmd.Parameters.Add("@proid", SqlDbType.Int).Value = aa;
SqlDataAdapter dap = new SqlDataAdapter(cmd);
DataSet ds = new DataSet();
dap.Fill(ds, "City");
dropCity.DataSource = ds.Tables["City"].DefaultView;
dropCity.DataValueField = ds.Tables["City"].Columns[0].ColumnName;
dropCity.DataTextField = ds.Tables["City"].Columns[1].ColumnName;
dropCity.DataBind();
dropCity.Items.Insert(0, new ListItem("==请选择==", ""));
}
catch
{
}}
上面是问题的代码,省份数据已经绑定上了,但是选择完省份之后就出现“输入字符串的格式不正确”,我打断点执行之后看到没有值,就是说选择完省份之后没传递过去值
求问怎么弄啊????我弄了好多方法都不行
解决方案 »
- 命名空间“system.web”中不存在类名或命名空间名称“script”
- 读取数据库问题
- ~~~~~~~~asp.net新闻采集~~~~~~~~~~~~~~~~
- 菜鸟请教:关于Repeater控件的问题!!!!
- 如何在网页中调用web服务器上的一个应用程序
- 关于dll文件的问题~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- VSS如何撤消?
- 请问自定义控件能否控制此自定义控件之外的其他控件(比如:Label),比如这个程序?
- GridView空间不能实现修改
- datagrid中超级链接列,怎么能传过去2个字段得值]?
- 在线等:为什么将DataTable转化为json字符串进行ajax传输,总是说格式不正确?
- 关于母版页和子页ID重复问题
int aa = Convert.ToInt32(dropProv.SelectedValue.ToString());就开始报错
dropProv.DataValueField = "Prov_ID";
dropProv.DataTextField = "Prov_Name";
dropProv.DataSource = ds.Tables["Province"].DefaultView;
dropProv.DataBind();
int aa = Convert.ToInt32(dropProv.SelectedItem.Value.ToString().Trim());
dropCity.DataTextField = ds.Tables["City"].Columns[1].ColumnName;
这里插入的都是String类型的,报错应该在选择市这里
这个绑定的方法你放在哪儿的?protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
bindProvince();
}
}
dropdownlist1.Items.Insert(0, new ListItem("==请选择==", "0"));
此外检查下Prov_ID类型,是否可转换
哦,自动发回服务器后页面不是第一次进入了,所以bindProvince()没再执行
这样
{
if (!IsPostBack)
{
bindProvince();
}
} 如果方法没放在load事件里面 你选择提交后 提交的会是"==请选择=="对应的value 空值...
还有下次转int类型是,请用int.TryParse方法