[英]How do I display a list from SQL database when my table is not enumerable? I can use details view fine, but not an index view
[英]How can I use a view of my database in a razor view?
我有以下代码,但无法自动填写选择的选项:
controller.cs
public ActionResult GetPais()
{
using (MyEntities ctx = new MyEntities())
{
var List = ctx.Countries.ToList();
return PartialView("_optionsPais", List);
}
}
modelCountriesList.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表的所有行:
我找不到迭代表中行的方法,它们可以为我提供帮助。
或查找其他类型的路径,例如直接在视图中使用LINQ,谢谢
你应该试图访问会得到一个错误Countries
一个财产List<Countries>
对象在Razor视图。
相反,由于您的Razor视图将其模型定义为MySite.Models.CountrisList
,因此在控制器操作中实例化视图模型并将其传递给PartialView()
。
public ActionResult GetPais()
{
using (MyEntities ctx = new MyEntities())
{
var model = new MySite.Models.CountrisList();
model.Countries = ctx.Countries.ToList();
return PartialView("_optionsPais", model);
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.