假设我的表格tbl_AAA
包含列。
ID , Firstname , Lastname , Nickname ,tel
然后我SELECT * FROM tbl_AAA
绑定下拉列表中的数据。
并设置
DataValueField = "ID" and DataTextField = "Firstname"
当我点击下拉列表中的任何内容时,我需要显示数据库中的其他列,例如
答案 0 :(得分:0)
您使用的是哪个版本的HTML?
在HTML 5中,以数据为前缀的自定义属性完全有效,例如
<div data-nickname="lol"><
/ DIV&GT;
在XHTML中,这不是真正有效的。如果您处于XHTML 1.1模式,浏览器可能会抱怨它,但在1.0模式下,大多数浏览器都会默默地忽略它。
如果我是你,我会遵循基于脚本的方法。你可以在服务器端自动生成它,这样就不会让后面的人感到痛苦。
答案 1 :(得分:0)
make dropdown属性isPostback =&#34; true&#34;然后添加以下方法
protected void dropdown_SelectedIndexChanged(object sender, System.EventArgs e)
{
try {
if (dropdown.SelectedIndex != 0) {
SqlStr = "Select Nickname From tbl_AAA where ID =@ID";
//Execute above query and result text assign to label/textbox
SqlConnection connection = new SqlConnection("Server=ServerNAme;Initial Catalog=DBName; User ID=sa;Password=Password;");
SqlCommand command = new SqlCommand(SqlStr, connection);
command.Parameters.AddWithValue("@ID", Conversion.Val(dropdown.SelectedValue));
lbl.text = cmd.ExecuteScalar().toString();
}
} catch (Exception ex) {
}
}
答案 2 :(得分:0)
您可以将SelectedIndexChanged
event与AutoPostBack = true
一起使用。这是您的以下路径;
<--Choose Name-->
项已被-1
编入索引,您可以检查SelectedIndex
是否-1
。-1
,请使用SqlConnection
创建并SqlCommand
并使用SELECT Nickname FROM tbl_AAA WHERE ID = @id
并将您的下拉列表SelectedValue
添加到此@id
1}}与parameterized query。ID
在您的桌面上具有鲜明的价值,使用ExecuteScalar
执行您的查询,并将Nickname
作为object
投降是string
并将此字符串分配给此标签Text
属性。作为一个例子;
void DropDownlist1_SelectedIndexChanged(Object sender, EventArgs e)
{
if(DropDownlist1.SelectedIndex != -1)
{
using(var con = new SqlConnection(conString))
using(var cmd = con.CreateCommand())
{
cmd.CommandText = "SELECT Nickname FROM tbl_AAA WHERE ID = @id";
cmd.Paramerters.Add("@id", SqlDbType.Int)
.Value = int.Parse(DropDownlist1.SelectedValue);
con.Open();
Label1.Text = (string)cmd.ExecuteScalar();
}
}
else
{
Label1.Text = string.Empty;
}
}