Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/274.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在asp.net的dropdownlist中查找选定索引的值_C#_Asp.net - Fatal编程技术网

C# 如何在asp.net的dropdownlist中查找选定索引的值

C# 如何在asp.net的dropdownlist中查找选定索引的值,c#,asp.net,C#,Asp.net,标记中缺少AutoPostBack=“true” 其次,你得到的是所选项目的索引,这意味着你得到的第一个所选项目的编号为0,第二个项目的编号为1,等等,这可能与你的ID不匹配 更改代码,如下所示: protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e) { cmd.CommandText = "Select * from tb5 where Case_Id="+Convert.ToInt

标记中缺少
AutoPostBack=“true”

其次,你得到的是所选项目的索引,这意味着你得到的第一个所选项目的编号为0,第二个项目的编号为1,等等,这可能与你的ID不匹配

更改代码,如下所示:

protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
{

    cmd.CommandText = "Select * from tb5 where Case_Id="+Convert.ToInt64(DropDownList1.SelectedIndex);
    SqlDataReader r = cmd.ExecuteReader();
    bool b = r.Read();
    TextBox2.Text = r["Case_Name"].ToString();
    TextBox2.ReadOnly = false;
}

标记中缺少
AutoPostBack=“true”

其次,你得到的是所选项目的索引,这意味着你得到的第一个所选项目的编号为0,第二个项目的编号为1,等等,这可能与你的ID不匹配

更改代码,如下所示:

protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
{

    cmd.CommandText = "Select * from tb5 where Case_Id="+Convert.ToInt64(DropDownList1.SelectedIndex);
    SqlDataReader r = cmd.ExecuteReader();
    bool b = r.Read();
    TextBox2.Text = r["Case_Name"].ToString();
    TextBox2.ReadOnly = false;
}

DropDownList1.选择editem.Value
?您收到的错误消息是什么?在本说明中:Convert.ToInt64(DropDownList1.SelectedIndex)您正在将一个字符串转换为Int以连接到另一个字符串。你不需要那样做。只需消除convert:cmd.CommandText=“Select*from tb5,其中Case_Id=“+DropDownList1.SelectedIndex;如果不起作用,请尝试使用.Value
DropDownList1.SelectedItem.Value
?您收到的错误消息是什么?在本说明中:Convert.ToInt64(DropDownList1.SelectedIndex)您正在将一个字符串转换为Int以连接到另一个字符串。你不需要那样做。只需消除convert:cmd.CommandText=“Select*from tb5,其中Case_Id=“+DropDownList1.SelectedIndex;如果这不起作用,请尝试使用.valueMscorlib.dll中发生了类型为“System.FormatException”的异常,但未在user中处理code@NomanNomeButt参数类型为Int,但如果使用
long
/
int64
作为Id,则应为
BigInt
。我已编辑了答案。如果它仍然抛出异常-这可能是很少的事情:您的下拉列表不包含可以转换为
int64
(例如字母)的值或者未选择任何内容mscorlib.dll中发生“System.FormatException”类型的异常,但未在用户中处理code@NomanNomeButt参数类型为Int,但如果使用
long
/
int64
作为Id,则应为
BigInt
。我已编辑了答案。如果它仍然抛出异常-这可能是很少的事情:您的下拉列表不包含可以转换为
int64
(例如字母)的值,或者没有选择任何内容
protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
{

    cmd.CommandText = "Select * from tb5 where Case_Id= @CaseId";
    cmd.Parameters.Add(new SqlParameter("@CaseId", SqlDbType.BigInt)).Value = Convert.ToInt64(DropDownList1.SelectedValue);
    SqlDataReader r = cmd.ExecuteReader();
    bool b = r.Read();
    TextBox2.Text = r["Case_Name"].ToString();
    TextBox2.ReadOnly = false;
}