[英]Get page content dynamically from Sql server database MVC 5
我想使用 ADO.NET 实体数据模型将信息从 MVC 5 中的 SQL Server 数据库中获取到 li 元素中。
这是我生成的model.edmx
public partial class Entities : DbContext
{
public Entities()
: base("name=Entities")
{
}
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
throw new UnintentionalCodeFirstException();
}
public virtual DbSet<C__MigrationHistory> C__MigrationHistory { get; set; }
public virtual DbSet<PackageType> PackageTypes { get; set; }
}
我有一个名为 PackageTypes 的表,它有 3 列 Id、Name 和 PackagesInDeal。
<li class="pricing-title">
@Html.DisplayFor(model => @Model.Name) @*Free*@
</li>
在这个 li 元素中,我需要从表中获取 Name 值。
我不太熟悉如何向控制器添加两个功能
public ActionResult Create( int? id ) {
ViewBag.UserId = new SelectList( db.AspNetUsers, "Id", "Email" );
ViewBag.PackageTypeId = new SelectList( db.PackageTypes, "Id", "Name" );
ViewBag.SelectedPackage = id;
return View();
}
这是控制器包含的代码,根据 id 参数显示 1、2、3 或 4 笔交易。
该视图具有以下代码:
@if ( ( ViewBag.SelectedPackage ?? 0 ) <= 1 ) {
<div class="col-lg-3 wow zoomIn" style="padding: 0;">
<ul class="pricing-plan list-unstyled selected" style="margin: 20px;">
@Html.DisplayFor(model => @Model.Name) @免费@
<li class="pricing-desc">
Basic package
<br />
</li>
<li class="pricing-price">
<span>00</span> / month
</li>
<li> <i class="fa fa-trophy"></i> aa </li>
<li> <i class="fa fa-globe"></i> bb </li>
<li> <i class="fa fa-suitcase"></i> cc</li>
<li class="selected"> <i class="fa fa-bell"></i>dd </li>
<li> <i class="fa fa-database"></i> ee </li>
<li> <i class="fa fa-envelope"></i> ff </li>
<li>
<div style="text-align: right; height: 110px;">
</div>
</li>
<li style="padding-top: 30px;">
<a class="btn btn-primary btn-xs" href="@Url.Action( "Create", "Deals", new { deal=Request.QueryString["deal"] } )" rel="1">Buy</a>
</li>
</ul>
</div>
}
@if ( ( ViewBag.SelectedPackage ?? 0 ) <= 2 ) {
<div class="col-lg-3 wow zoomIn" style="padding: 0;">
<ul class="pricing-plan list-unstyled selected" style="margin: 20px;">
<li class="pricing-title">
Free + Domain
</li>
<li class="pricing-desc">
Basic package
</li>
<li class="pricing-price">
<span>10 </span> / month
</li>
<li> <i class="fa fa-trophy"></i> aa</li>
<li> <i class="fa fa-globe"></i> bb </li>
<li> <i class="fa fa-suitcase"></i> cc</li>
<li class="selected"> <i class="fa fa-bell"></i> dd</li>
<li> <i class="fa fa-database"></i> ee </li>
<li> <i class="fa fa-envelope"></i> ff </li>
<li>
@Html.Partial( "FreeDomain" )
</li>
<li style="padding-top: 30px;">
<a class="btn btn-primary btn-xs" href="@Url.Action( "Create", "Deals", new { deal=Request.QueryString["deal"] } )" rel="1">buy</a>
</li>
</ul>
</div>
}
那么如何从 sql server 数据库表中检索“免费”、“免费 + 域”和 li 中的其余信息?
您始终可以使用 MVC 脚手架为给定的数据模型实体生成控制器/视图。 http://www.asp.net/visual-studio/overview/2013/aspnet-scaffolding-overview
所以经过长时间的网络研究,我终于得到了我想要的东西。 所以控制器看起来像这样
public ActionResult Create(int? id)
{
List<PackageType> packageTypes = db.PackageTypes.ToList();
ViewBag.PackageTypesName = packageTypes;
ViewBag.SelectedPackage = id;
return View();
}
和视图
@if ((ViewBag.SelectedPackage ?? 0) <= 1)
{
<div class="col-lg-3 wow zoomIn" style="padding: 0;">
<ul class="pricing-plan list-unstyled selected" style="margin: 20px;">
<li class="pricing-title">
**@ViewBag.PackageTypesName[0].Name**
</li>
<li class="pricing-desc">
Basic package
<br />
</li>
<li class="pricing-price">
<span>00</span> / month
</li>
<li> <i class="fa fa-trophy"></i> aa </li>
<li> <i class="fa fa-globe"></i> bb </li>
<li> <i class="fa fa-suitcase"></i> cc</li>
<li class="selected"> <i class="fa fa-bell"></i>dd </li>
<li> <i class="fa fa-database"></i> ee </li>
<li> <i class="fa fa-envelope"></i> ff </li>
<li>
<div style="text-align: right; height: 110px;">
</div>
</li>
<li style="padding-top: 30px;">
<a class="btn btn-primary btn-xs" href="@Url.Action("Create", "Deals", new { deal = Request.QueryString["deal"] })" rel="1">Buy</a>
</li>
</ul>
</div>
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.