我有一个名为Entity的实体,(lol)。
public class Entidad
{
[Key]
public int Id { get; set; }
public string Nombre { get; set; }
public virtual ICollection<Propiedad> Propiedades { get; set; }
}
我还有一个名为Properties
的实体 public class Propiedad
{
[Key]
public int Id { get; set; }
public virtual Entidad Entidad { get; set; }
public string Codigo { get; set; }
public string Nombre { get; set; }
public string TipoDeDatos { get; set; }
}
使用自动脚手架的“我的创建”视图会像这样呈现 http://screencast.com/t/aNU4tEH8EA1
但是,我应该可以从下拉列表中选择实体。
这是自动生成的视图
@model Inspinia_MVC5.Areas.GlobalAdmin.Models.Propiedad
@{
ViewBag.Title = "Create";
Layout = "~/Areas/GlobalAdmin/Views/Shared/_LayoutGlobalAdmin.cshtml";
}
<div class="row wrapper border-bottom white-bg page-heading">
<div class="col-sm-4">
<h2>Create</h2>
<ol class="breadcrumb">
<li>
@Html.ActionLink("List", "Index")
</li>
<li class="active">
<strong>Create</strong>
</li>
</ol>
</div>
<div class="col-sm-8">
<div class="title-action">
@Html.ActionLink("Back to List", "Index", null, new { @class = "btn btn-primary"})
</div>
</div>
</div>
<div class="wrapper wrapper-content animated fadeInRight">
<div class="row">
<div class="col-lg-12">
<div class="ibox float-e-margins">
<div class="ibox-title">
<h5>Create Propiedad</h5>
</div>
<div class="ibox-content">
@using (Html.BeginForm())
{
@Html.AntiForgeryToken()
<div class="form-horizontal">
@Html.ValidationSummary(true)
<div class="form-group">
@Html.LabelFor(model => model.Codigo, new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.EditorFor(model => model.Codigo)
@Html.ValidationMessageFor(model => model.Codigo)
</div>
</div>
<div class="form-group">
@Html.LabelFor(model => model.Nombre, new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.EditorFor(model => model.Nombre)
@Html.ValidationMessageFor(model => model.Nombre)
</div>
</div>
<div class="form-group">
@Html.LabelFor(model => model.TipoDeDatos, new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.EditorFor(model => model.TipoDeDatos)
@Html.ValidationMessageFor(model => model.TipoDeDatos)
</div>
</div>
<div class="form-group">
<div class="col-md-offset-2 col-md-10">
<input type="submit" value="Create" class="btn btn-primary" />
@Html.ActionLink("Cancel", "Index", null, new { @class = "btn btn-white"})
</div>
</div>
</div>
}
</div>
</div>
</div>
</div>
</div>
问题是如何添加下拉列表并使其填充实体中的值?
答案 0 :(得分:1)
你不能自动完成。
您需要将DropDownList添加到View中,并将要选择的每个实体添加到此下拉列表中。
在帖子上,查询实体,然后创建向其添加属性。
另外,检查你的控制器,MVC的默认行为是创建一个子实体控制器,接收父节点(在本例中为'Entidad')id,使它只接收语义模型,因为你不是'Entidad'具体在这种情况下。