C#.net输入字符串的格式不正确

C#.net输入字符串的格式不正确,c#,.net,C#,.net,我已经在下拉框中编写了一个名为“更改值”的函数 以下是函数: protected void ddlDistrict_SelectedIndexChanged(object sender, EventArgs e) { try { IApplicationContext ctx = ContextRegistry.GetContext(); IServices reg = (IServices)ctx.GetObject("Services");

我已经在下拉框中编写了一个名为“更改值”的函数

以下是函数:

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);

我不知道如何解决此错误。

从您的评论中可以看出,您选择的组合框项目中只有“345”


@JonathonReinhart嗨..我得到的选择值为 345;2.345是我选择的下拉列表值的大学 为什么其余的值也会随它而来..我应该如何选择 只有第一个值

尝试:


非常感谢大家的帮助,我终于找到了解决办法

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

特别感谢@JonathanReinhart

,当它在调试器中中断时,
ddlDistrict的值是多少。SelectedValue
?把你的鼠标放在上面;它会告诉你的。然后往回走,直到找出错误的原因。@JonathonReinhart嗨..我得到的选择值是345;2.345是我选择的下拉列表的值的大学为什么其他值也随它而来..以及我应该如何只提取第一个值。
String.Split
使用
';'作为分隔符。检查ddlDistrict.SelectedValue……….您好,使用您的解决方案,我可以看到所选的值“Nashik”,但再次出现相同的错误…“输入字符串格式不正确”@user1274646如果紧跟在上面列出的行之后,您可能会遇到相同的问题。更具体地说:ddlTaluka.DataSource=reg.getTalukaList(Convert.ToInt32(ddlddistrict.SelectedValue));hey更新了问题,但控件未转到该行,错误位于上行still@user1274646错误是否仍然是由问题中概述的原始行引起的。这似乎是一个非常奇怪的地方有一个错误,因为它是相当直截了当的代码应该做什么。但是,我可以看到错误是否发生在“reg.getTalukaList(..)”中。“reg.getTalukaList(…)”作为参数应该是什么?
    Int32 DistrictID = Convert.ToInt32(ddlDistrict.SelectedValue.Split(";".ToCharArray())[0]);