【发布时间】:2019-10-09 02:40:31
【问题描述】:
我目前正在尝试将数据集从 SQL 服务器获取到列表中,这样我就可以在页面上显示它。老实说,我在这里看了很多答案,每一次不同的尝试都会给我带来不同的错误。
根据我的阅读,这应该有效。 ScriptList 是 List 并且应该具有 Add 功能。然而,它根本没有。这是我目前的代码:
public ScriptList Index()
{
var scriptList = new ScriptList();
//List<ScriptItem> scriptlst = new List<ScriptItem>();
string connectionString = _configuration["ConnectionString:localhost"];
using (SqlConnection connection = new SqlConnection(connectionString))
{
string statement = "SELECT ScriptGUID, ScriptName, ScriptDescription, DateAdded FROM dbo.Scropts;";
SqlCommand command = new SqlCommand(statement, connection);
connection.Open();
using (SqlDataReader reader = command.ExecuteReader())
{
while(reader.Read())
{
scriptList.Add<ScriptItem>(new ScriptItem{GUID = Convert.ToString(reader["ScriptGUID"]),
Name = Convert.ToString(reader["ScriptName"]),
ShortDescription = Convert.ToString(reader["ScriptDescription"]),
DateAdded = Convert.ToDateTime(reader["DateAdded"])});
}
}
}
return scriptList;
}
}
public class ScriptList
{
public List<ScriptItem> ScriptItems {get;set;}
}
public class ScriptItem
{
public string GUID {get;set;}
public string Name {get;set;}
public string ShortDescription {get;set;}
public DateTime DateAdded {get;set;}
}
这给了我以下错误:
“ScriptList”不包含“Add”的定义,最佳扩展方法重载“ConfigurationExtensions.Add(IConfigurationBuilder, Action)”需要“IConfigurationBuilder”类型的接收器
我尝试将ScriptList 的定义更改为List<ScriptItem> scriptlist = new List<ScriptItem>();,但是这会导致以下错误:
无法将类型“System.Collections.Generic.List”隐式转换为“asp.Pages.ScriptList”
我真的不明白这里有什么问题。为什么scriptList 没有Add 功能,为什么scriptlist 有 尽管两者都被声明为List<ScriptItem> 而不是(显然)一样吗?
【问题讨论】:
标签: c# asp.net-mvc