【发布时间】:2012-09-14 05:49:54
【问题描述】:
我正在尝试通过 C# 制作另一个下拉列表控件。 我的计划是,第一个 DropDownList 显示诸如“大小”“性别”“模型”之类的类别,当您选择其中一个时,将出现一个新的 DropDownList,其中包含先前选择的类别的新子类别。
例如,如果我选择“Size”,则会出现一个新的 DropDownList,并且可以从多种尺寸中进行选择。
我在测试时遇到错误,听起来像这样:确保您的方法参数格式正确。
我的代码如下所示:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using ContactTableAdapters;
public partial class Test : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void ddlTwo_SelectedIndexChanged(object sender, EventArgs e)
{
ddlTwo.Items.Clear();
if (ddlThree.SelectedValue != "0")
{
Contact.CategoriesDataTable table;
ddlTwo.AppendDataBoundItems = true;
ddlTwo.Items.Add(new ListItem("Choose", "0"));
CategoriesTableAdapter subM = new CategoriesTableAdapter();
int CategoryID = Convert.ToInt32(ddlThree.SelectedValue); //This is where I get the error
table = subM.GetCategoryByCategoryID(CategoryID);
foreach (Contact.CategoriesRow row in table)
{
string text = row.Category;
string value = row.CategoryID.ToString();
ddlTwo.Items.Add(new ListItem(text, value));
}
}
}
}
谁能告诉我,我可能做错了什么?
【问题讨论】:
-
请调试并查看 ddlThree.SelectedValue 实际上是什么。我的猜测是空的......
-
“输入字符串的格式不正确”它说。
-
那是异常信息的值,对吗?我需要知道 ddlThree.SelectedValue) 的值是什么
-
它可能是一个空字符串。因此它无法将其解析为 int。你确定 ddlThree.SelectedValue 有项目,如果有,选择一个?我怀疑它
-
ddlTwo 的值应该是“Size”“Gender”“Model”,当您选择其中一个时,应该在 ddlTwo 中选择的值将为 ddlThree 打开,其中应该包含值 Sizes ,男/女”或“模特”——你说的是什么?
标签: c# asp.net drop-down-menu code-behind