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