如何在剃刀视图中使用我的数据库视图?

我有以下代码,但我无法自动填充选择的选项:


控制器.cs


public ActionResult GetPais()

        {    

            using (MyEntities ctx = new MyEntities())

            {

                var List = ctx.Countries.ToList();

                return PartialView("_optionsPais", List);

            }

        }

模型国家列表.cs


    using System;

    using System.Collections.Generic;

    using System.Linq;

    using System.Web;


    namespace MySite.Models

    {

        public class CountrisList

        {

            public IEnumerable<Countries> Countries { get; set; }

        }

    }

MySite.Context.cs


namespace MySite.Models

    {

    using System;

    using System.Data.Entity;

    using System.Data.Entity.Infrastructure;


    public partial class MyEntities : DbContext

    {

        public MyEntities()

            : base("name=MyEntities")

        {

        }


        protected override void OnModelCreating(DbModelBuilder modelBuilder)

        {

            throw new UnintentionalCodeFirstException();

        }

        ...

        public DbSet<Countries> Countries { get; set; }

        ...

        }

    }

_optionPais.cshtml


@model MySite.Models.CountrisList

@using System.Web.Configuration;

@using System.Globalization;

@using System.Linq;



@foreach (var item in Model.Countries)

{

    <option value="@item.Ide">@item.Descripcion</option>

}

我只想迭代我的 SQL 表的所有行:

http://img2.mukewang.com/617551f60001352b04420318.jpg

http://img2.mukewang.com/617552030001e7ef01240123.jpg

我找不到迭代表行的方法,他们可以帮助我。

或者找到另一种类型的路径,比如在视图中直接使用 LINQ,谢谢


慕码人8056858
浏览 151回答 1
1回答

慕田峪7331174

尝试访问Razor 视图中对象的Countries属性时,您应该会收到错误消息List<Countries>。相反,在控制器操作中实例化视图模型并将其传递给,PartialView()因为您的 Razor 视图将其模型定义为MySite.Models.CountrisList.public ActionResult GetPais(){&nbsp; &nbsp;&nbsp;&nbsp; &nbsp; using (MyEntities ctx = new MyEntities())&nbsp; &nbsp; {&nbsp; &nbsp; &nbsp; &nbsp; var model = new MySite.Models.CountrisList();&nbsp; &nbsp; &nbsp; &nbsp; model.Countries = ctx.Countries.ToList();&nbsp; &nbsp; &nbsp; &nbsp; return PartialView("_optionsPais", model);&nbsp; &nbsp; }}
打开App,查看更多内容
随时随地看视频慕课网APP