C# 无法将类型“object”隐式转换为“string”。存在显式转换(是否缺少强制转换?)

C# 无法将类型“object”隐式转换为“string”。存在显式转换(是否缺少强制转换?),c#,asp.net,database,textbox,C#,Asp.net,Database,Textbox,选择下拉列表时,我必须在文本框中显示值。我使用数据集从数据库中获取值。代码如下所示。给我一个合适的解决方案。多谢各位 代码: dt包含名字和姓氏值。选择学生ID时,文本框1和文本框2中应显示相应的值 Sql查询: SELECT FirstName, SecondName FROM TextBoxTable WHERE (Id = @Id) 资料来源: <div> <asp:DropDownList ID="DropDownList1" runat="server" AutoP

选择下拉列表时,我必须在文本框中显示值。我使用数据集从数据库中获取值。代码如下所示。给我一个合适的解决方案。多谢各位

代码:

dt包含名字和姓氏值。选择学生ID时,文本框1和文本框2中应显示相应的值

Sql查询:

SELECT FirstName, SecondName FROM TextBoxTable WHERE (Id = @Id)
资料来源:

<div>
<asp:DropDownList ID="DropDownList1" runat="server" AutoPostBack="True">
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
</div>
数据库:

您可能需要执行以下操作:

foreach (DataRow row in dt.Rows)
{

 TextBox1.Text = (row["FirstName"]);
 TextBox2.Text = (row["SecondName"]);
}
将代码更改为:

protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
     {
        DataSet1TableAdapters.TextBoxTableTableAdapter tx;
        tx = new DataSet1TableAdapters.TextBoxTableTableAdapter();
        DataTable dt = new DataTable();
        dt = tx.GetstudData(int.Parse(DropDownList1.SelectedValue));
        foreach (DataRow row in dt.Rows)
           {
           TextBox1.Text = (row["FirstName"].ToString());
           TextBox2.Text = (row["SecondName"].ToString());
           }
     }
文本框的名称与asp文件中的名称不同。C是一种区分大小写的语言


编辑:你必须转换它。一个简单的。ToString应该可以做到这一点。尽量不要改变话题的完整主题。您应该打开一个新问题…因为这会打断所有正确答案。

studentId是唯一的。下拉列表包含Studentid。一个学生有一个名字

if(DropDownList1.SelectedValue !="" && dt.Rows.Count()>0)
   {
       txtFirstname.Text= String.IsNullOrWhiteSpace(dt.Rows[0]["FirstName"]) ? "" : dt.Rows[0]["FirstName"];
     txtlastName.Text= String.IsNullOrWhiteSpace(dt.Rows[0]["LastName"]) ? "" : dt.Rows[0]["LastName"];      
}
 else
 {
   TextBox1.Text="";
  TextBox2.Text="";
 }

从数据表设置适当的属性有什么问题?如果数据表有行,那么TextBox1.Text=dt.rows[0][FirstName]。@pradeepvarma:如果数据表没有行,那么代码是什么?请在我的代码中应用上述解决方案。我已将您的解决方案粘贴到我的代码中,但它正在生成一个错误。当前上下文中不存在istext框1和2。请使用上述解决方案立即尝试。我已经更新了代码。在那里你已经更新了解决方案。!我不知道?请让我知道。我已将Textbox1更改为Textbox1。请按原样复制上述代码并粘贴到您的解决方案中。它应该有用!!!请将此标记为已回答,并为此打开另一个问题:
if(DropDownList1.SelectedValue !="" && dt.Rows.Count()>0)
   {
       txtFirstname.Text= String.IsNullOrWhiteSpace(dt.Rows[0]["FirstName"]) ? "" : dt.Rows[0]["FirstName"];
     txtlastName.Text= String.IsNullOrWhiteSpace(dt.Rows[0]["LastName"]) ? "" : dt.Rows[0]["LastName"];      
}
 else
 {
   TextBox1.Text="";
  TextBox2.Text="";
 }