我目前正在尝试将SQL Server中的数据集放入列表中,以便随后将其显示在页面上。老实说,我在这里看了很多答案,每一次不同的尝试都会使我遇到不同的错误。
根据我的阅读,这应该有效。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;}
}
Run Code Online (Sandbox Code Playgroud)
这给了我下面的错误:
'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>?
不,您创建了一个具有List<T> member的类。这并不意味着您的类继承了该成员的所有成员。
scriptList.ScriptItems.Add()请注意,您只是在寻找ScriptItems。那是您的清单,而不是您的ScriptList课程。
| 归档时间: |
|
| 查看次数: |
177 次 |
| 最近记录: |