部分页面的数据在viewModel中不绑定

时间:2013-05-19 06:01:05

标签: c# asp.net-mvc razor

视图模型:

public class AdminAddMovieDataBase
    {
        public MovieInformation MovieInformation { get; set; }
        public List<Genre> Genres { get; set; }
  }

的BasePage:

<div class="contentWrapper1">
  <div class="contentLeft1">Title</div>
  <div>
  @Html.TextBoxFor(model => model.MovieInformation.MovieTitle, new { @class = "signupinputnameField", id = "movieTitle" }) </div>
  </div>
  <div id="genre">
  <div class="contentLeft1">Genre</div>
  @Html.Partial("_GenrePartialPage", Model.Genres)
  </div>

部分页面:

<div class="ContentWrapper1">

  <ul><li>
     @Html.DropDownList("GenreList", new SelectList(Model, "GenreID", "GenreName"), "--Select Genre--", new { @class = "contentRightOption1" })
    <a href="#" onclick="$(this).parent().remove();">Delete</a>
      </li></ul>
  </div>

当我点击基页形式的保存按钮时(我在示例代码中没有给出)。我可以获取MovieInformation模型的数据,但不能获取部分页面中的类型数据。我无法使用部分页面绑定viewmodel。谢谢。

1 个答案:

答案 0 :(得分:0)

视图模型上的类型列表应为List<SelectListItem>,您还应在模型中包含字符串属性。为了这个例子,我们称之为MyGenre。 然后你可以使用

@Html.DropDownListFor(model=>model.Genre.MyGenre, model=>model.Genre.GenreList)

因此模型中的第一个属性是字符串,第二个是您的SelectListItem列表。当表单发布时,您可以从字符串中获取所选项目。