0

我正在创建一个 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"/>
            }

我究竟做错了什么?

4

1 回答 1

1

您正在获取实体集合,但试图将其视为单个实体。

如果您只想检索单个值,您应该使用First,或类似FirstOrDefaultSingle东西(取决于您的确切需求)。

如果你想真正检索一个集合,你也应该在你的视图中以这种方式处理它。

于 2012-12-04T10:45:05.160 回答