我正在创建一个MVC3 Internet应用程序来从数据库中获取数据。
我收到以下错误:
Compiler Error Message: CS1061: 'System.Collections.Generic.IEnumerable<Project.Models.MyModel>' does not contain a definition for 'SId' and no extension method 'SId' accepting a first argument of type 'System.Collections.Generic.IEnumerable<Project.Models.MyModel>' could be found (are you missing a using directive or an assembly reference?)
这是我的代码:
控制器:
public ActionResult RetrievedData()
{
MyModel mymodel=new MyModel();
IEnumerable<MyModel> res = mymodel.RetrieveData();
return View();
}
型号:
public class MyModel
{
public int SId { get; set; }
public string StrName { get; set; }
public DateTime? DateCreated { get; set; }
Test_2Entities entity = new Test_2Entities();
public IEnumerable<MyModel> RetrieveData()
{
var query = (from s in entity.StudentInfo
where s.SId == 1
select new MyModel()
{
SId = s.SId,
StrName = s.SName,
DateCreated = s.DateCreated
});
return query.AsEnumerable();
}
查看:
@model IEnumerable<DateAndTimecontrol.Models.MyModel>
@Html.BeginForm("GetData", "Home", FormMethod.Get)
{
Time Picker:<input type="text" id="timepicker2" />
@Html.TextBoxFor(m=>m.SId,"",new{id="sname"}) //Error at this line
<br />
<br />
Date Picker:<input type="text" id="datepicker2" /><br />
<input type="text" id="txtName2" /><br />
<input type="submit" value="GettingDataFromDB"/>
}
我做错了什么?
答案 0 :(得分:1)
您正在获取实体的集合,但尝试将其视为单个实体。
如果您只想检索单个值,则应使用First
,FirstOrDefault
,Single
或类似的内容(具体取决于您的具体需求)。
如果你想真正检索一个集合,你也应该在你的视图中以这种方式处理它。