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 ドロップダウンリストに表示される都市を渡したい:

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 に答える