0

データベースからデータを取得する MVC3 インターネット アプリケーションを作成しています。

次のエラーが表示されます。

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 に答える