我目前只擁有CREATE VIEW我的專輯類:如何爲我的模型創建一個Html.EditorFor以節省時間?
@model MvcApplication1.Models.AlbumViewModel
@{
ViewBag.Title = "Index";
}
<h2>Index</h2>
<script src="@Url.Content("~/Scripts/jquery.validate.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.min.js")" type="text/javascript"></script>
@using (Html.BeginForm()) {
@Html.ValidationSummary(true)
<fieldset>
<legend>AlbumViewModel</legend>
<p>
@Html.LabelFor(model => model.GenreId)
@Html.DropDownListFor(x => x.GenreId, new SelectList(Model.Genres, "GenreId", "name"))
</p>
<p>
@Html.LabelFor(model => model.ArtistId)
@Html.DropDownListFor(x => x.ArtistId, new SelectList(Model.Artists, "ArtistId", "Name"))
</p>
<p>
<input type="submit" value="Create" />
</p>
</fieldset>
}
<div>
@Html.ActionLink("Back to List", "Index")
</div>
有人告訴我,它的約定使用EditorFor用於創建和編輯,以節省時間,在未來。
所以我認爲最終會看起來像這樣:
@model MvcApplication1.Models.AlbumViewModel
@{
ViewBag.Title = "Index";
}
<h2>Index</h2>
<script src="@Url.Content("~/Scripts/jquery.validate.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.min.js")" type="text/javascript"></script>
@Html.EditorForModel
<div>
@Html.ActionLink("Back to List", "Index")
</div>
這是正確的嗎?我如何以及在哪裏聲明並在解決方案中寫下這些內容?
編輯:
我在我的主帳戶有這種/註冊查看:
@model Models.RegisterViewModel
@{
ViewBag.Title = "Register";
}
<h2>Register</h2>
<script src="@Url.Content("~/Scripts/jquery.validate.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.min.js")" type="text/javascript"></script>
@using (Html.BeginForm()) {
@Html.ValidationSummary(true)
<fieldset>
<legend>RegisterViewModel</legend>
@Html.EditorFor(model => model.RegisterModel)
@Html.EditorFor(model => model.Cities)
@Html.EditorFor(model => model.Countries)
<p>
<input type="submit" value="Create" />
</p>
</fieldset>
}
在我EditorTemplate:
@model Fooer.WebUI.Models.RegisterModel
THIS IS A TEST.
然而,它並不渲染該虛擬文本。它呈現模型的默認控件。
這不符合預期。請參閱編輯。 –