我有2个下拉列表,1个标签& 1个文本框。
选择'产品类别'@ 1st ddl,2nd ddl显示所有产品类别。
问题是,如何在第二个ddl的加载/选择中显示产品类别id @标签,并命名@文本框?
我有以下代码:
Public Sub FilterProductCategory()
Dim myConn As New SqlConnection
Dim myCmd As New SqlCommand
Dim dtrReader As SqlDataReader
myConn.ConnectionString = ConfigurationManager.ConnectionStrings("ConnectionString").ConnectionString
myCmd = myConn.CreateCommand
myCmd.CommandText = "SELECT product_category_id, product_category_name FROM ProductCategory ORDER BY product_category_name"
Try
myConn.Open()
dtrReader = myCmd.ExecuteReader()
If dtrReader.HasRows Then
DropDownList2.Items.Clear()
DropDownList2.DataSource = dtrReader
DropDownList2.DataValueField = "product_category_name"
DropDownList2.DataBind()
End If
dtrReader.Close()
myConn.Close()
Catch
End Try
End Sub
答案 0 :(得分:0)
希望这有帮助,听起来很简单。我假设您的标签和文本框的ID遵循与下拉列表相同的格式。如果没有,请替换您自己的ID。此代码完全在服务器端运行,这意味着您将刷新整个页面只是为了完成这个相当简单的任务。如果这不是问题,那么一定要使用这种方法,否则我建议在客户端使用javascript。
Protected Sub DropDownList2_SelectedIndexChanged(Sender as Object, e as EventArgs) Handles DropDownList2.SelectedIndexChanged
Label1.Text = DropDownList2.SelectedValue
TextBox1.Text = DropDownList2.SelectedItem.Text
End Sub
答案 1 :(得分:0)
设置一下:
DropDownList2.DataTextField = "product_category_name"
DropDownList2.DataValueField = "product_category_id"
所以当你尝试dropdownlist2.selectedvalue然后你会得到id,当你尝试dropdownlist2.selecteditem.text然后它会给你产品类别名称..
希望它能解决您的问题
答案 2 :(得分:0)
首先将DataTextField设置到您的下拉列表display text
(CategoryName),将DataValueField设置到您的下拉列表SelectedValue
(categoryID)。
DropDownList2.DataTextField = "product_category_name";
DropDownList2.DataValueField = "product_category_id";
并在DropDownList的SelectIndexChanged Event
上使用SelectedValue
属性访问category ID
amd SelectedItem.Text
以访问Categoryname
Protected Sub DropDownList2_SelectedIndexChanged(Sender as Object, e as EventArgs) Handles DropDownList2.SelectedIndexChanged
Label1.Text = DropDownList2.SelectedValue
TextBox1.Text = DropDownList2.SelectedItem.Text
End Sub
使用示例检查DropDownList Class以获取有关这些属性的信息。
检查此示例:
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
BindList();
}
}
private void BindList()
{
SqlConnection con = new SqlConnection("server=.\\sqlexpress;initial catalog=test;integrated security=true;");
SqlDataReader reader;
SqlCommand command = con.CreateCommand();
command.CommandText = "Select * from UserTable order by UserName";
try
{
con.Open();
reader = command.ExecuteReader();
if (reader.HasRows)
{
DropDownList1.DataSource = reader;
DropDownList1.DataValueField = "userid";
DropDownList1.DataTextField = "UserName";
DropDownList1.DataBind();
}
reader.Close();
con.Close();
}
catch (Exception)
{
throw;
}
}
protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
{
Label1.Text = DropDownList1.SelectedValue;
TextBox1.Text = DropDownList1.SelectedItem.Text;
}
输出///