1

我已经编写了一个函数,称为更改下拉框中的值。

这是功能:

protected void ddlDistrict_SelectedIndexChanged(object sender, EventArgs e)
{
    try
    {
        IApplicationContext ctx = ContextRegistry.GetContext();
        IServices reg = (IServices)ctx.GetObject("Services");

        if (ddlDistrict.SelectedIndex != 0)
        {
            Int32 DistrictID = Convert.ToInt32(ddlDistrict.SelectedValue);

            ddlTaluka.DataSource = reg.getTalukaList(DistrictID));
            ddlTaluka.DataTextField = "TalukaName";
            ddlTaluka.DataValueField = "TalukaID";
            ddlTaluka.DataBind();
            ddlTaluka.Items.Clear();
            ddlTaluka.Items.Insert(0, new ListItem("-- Select Taluka --", "0"));
        }
        else
        {
            ddlTaluka.Items.Clear();
            ddlTaluka.Items.Insert(0,new ListItem("-- Select Taluka --", "0"));
        }
    }
    catch (Exception ex)
    {


    }
}

更改区域下拉列表中的值时,应重新填充 taluka 下拉列表...但我收到错误消息

输入字符串的格式不正确

在这一行

Int32 DistrictID = Convert.ToInt32(ddlDistrict.SelectedValue);

我不明白如何解决这个错误。

4

2 回答 2

1

通过查看您的评论,您选择的组合框项目中只有“345”。

@JonathonReinhart 嗨..我将选定的值设为 345;2;我选择了 345 是下拉列表值的大学, 为什么其余值也随之而来..我应该如何只选择第一个值。

尝试:

Int32 DistrictID = int.Parse(ddlDistrict.SelectedItem.ToString());
于 2013-01-05T05:43:54.273 回答
1

非常感谢大家的帮助,我终于找到了解决方案...

    Int32 DistrictID = Convert.ToInt32(ddlDistrict.SelectedValue.Split(";".ToCharArray())[0]);

特别感谢@JonathanReinhart

于 2013-01-05T07:20:32.073 回答