无法将类型'string'隐式转换为'System.Collections.Generic.List <string> </string>

时间:2015-03-31 10:17:34

标签: c#

我的控制器显示错误请解决显示错误无法将列表转换为字符串

public JsonResult GetProperty_id(int selectedValue) 
{
    List < string > properties = new List < string > ().ToList();
    //    Property model1 = new Property();
    SqlConnection con = new SqlConnection("Server=miracle\\SQLExpress; database=CRUIdb; user id=sa; password=dotnet");
    con.Open();
    SqlCommand cmd = new SqlCommand("SELECT property_id  FROM Service_Property WHERE service_id =" + selectedValue, con);
    SqlDataAdapter da = new SqlDataAdapter(cmd);
    DataSet ds = new DataSet();
    da.Fill(ds);

    for (int i = 0; i <= ds.Tables[0].Rows.Count - 1; i++) 
    {
        properties = (ds.Tables[0].Rows[0]["property_id"]); //error cannot covert
    }
    return Json(properties, JsonRequestBehavior.AllowGet);
}

2 个答案:

答案 0 :(得分:2)

您要为string分配List<string>值,这是不可能的,而应将每个值添加到您的集合中,如下所示

properties.Add(ds.Tables[0].Rows[0]["property_id"]);

答案 1 :(得分:2)

ds.Tables[0].Rows[0]["property_id"]string,但您尝试将properties设置为该值。 <{1}}来自声明properties

也许你想做List<string>,这与你在循环之后访问它的事实相匹配,即使当前编译时它只接受最后一个循环的值。