1

我想使用 EditorTemplates 创建一个显示许多模型表单的视图,以便我可以创建它们并关联它们。

为此,我创建了一个 House_Extended 模型:

public class Extended_House
{
    public Extended_House() {}

    public House House { get; set; }
    public Person Owner { get; set; }
}

在我的 Create.cshtml 中,我有:

@Html.EditorFor(model => model.House)
@Html.EditorFor(model => model.Owner)

在 Extended_HouseController 我想传递要在 House 下拉列表中显示的 Cities:

public ActionResult Create()
{
    ViewBag.Id_City = new SelectList(db.City, "Id_", "Name");
    return View();
}

House.cshtml 在 Extended_HouseView 的 EditorTemplates 文件中

@model myproject.Models.House --> 这是我的问题。我无法获取 selectList 值。我怎样才能得到它们?

<div class="form-group">
    @Html.LabelFor(model => model.Id_City, new { @class = "control-label col-md-2" })
    <div class="col-md-10">
        @Html.DropDownList("Inmueble.Id_City", String.Empty)
        @Html.ValidationMessageFor(model => model.Id_City)
    </div>
</div>

有什么方法可以将下拉列表与这样的编辑器模板一起使用?

4

1 回答 1

0

我很确定这就是你要找的东西:http: //odetocode.com/blogs/scott/archive/2013/03/11/dropdownlistfor-with-asp-net-mvc.aspx

顺便提一句:

你的Extended_House班级正在寻找我,就像它应该是一个 ViewModel,你知道它是什么吗?如果没有,请在这里查看例如:http: //blogs.msdn.com/b/simonince/archive/2010/01/26/view-models-in-asp-net-mvc.aspx - 这是第一个链接我开始使用 ViewModels,可能还有其他的,但这给了你一个很好的例子。

于 2014-03-28T14:44:00.543 回答