我的模型包含版本类型属性。
public class Model
{
public Version AppVersion { get; set; }
}
我在视图中使用@Html.Editor。
@using (@Html.BeginForm()) {
<div class="editor-field">
@Html.EditorFor(model=>@model.AppVersion)
</div>
}
它生成这个 HTML 标记:
<div class="editor-field">
<div class="editor-label"><label for="AppVersion_Major">Major</label></div>
<div class="editor-field"><input class="text-box single-line" data-val="true" data-val-number="Значением поля Major должно быть число." data-val-required="Требуется поле Major." id="AppVersion_Major" name="AppVersion.Major" type="number" value="" /> <span class="field-validation-valid" data-valmsg-for="AppVersion.Major" data-valmsg-replace="true"></span></div>
<div class="editor-label"><label for="AppVersion_Minor">Minor</label></div>
<div class="editor-field"><input class="text-box single-line" data-val="true" data-val-number="Значением поля Minor должно быть число." data-val-required="Требуется поле Minor." id="AppVersion_Minor" name="AppVersion.Minor" type="number" value="" /> <span class="field-validation-valid" data-valmsg-for="AppVersion.Minor" data-valmsg-replace="true"></span></div>
<div class="editor-label"><label for="AppVersion_Build">Build</label></div>
<div class="editor-field"><input class="text-box single-line" data-val="true" data-val-number="Значением поля Build должно быть число." data-val-required="Требуется поле Build." id="AppVersion_Build" name="AppVersion.Build" type="number" value="" /> <span class="field-validation-valid" data-valmsg-for="AppVersion.Build" data-valmsg-replace="true"></span></div>
<div class="editor-label"><label for="AppVersion_Revision">Revision</label></div>
<div class="editor-field"><input class="text-box single-line" data-val="true" data-val-number="Значением поля Revision должно быть число." data-val-required="Требуется поле Revision." id="AppVersion_Revision" name="AppVersion.Revision" type="number" value="" /> <span class="field-validation-valid" data-valmsg-for="AppVersion.Revision" data-valmsg-replace="true"></span></div>
<div class="editor-label"><label for="AppVersion_MajorRevision">MajorRevision</label></div>
<div class="editor-field"><input class="text-box single-line" data-val="true" data-val-number="Значением поля MajorRevision должно быть число." data-val-required="Требуется поле MajorRevision." id="AppVersion_MajorRevision" name="AppVersion.MajorRevision" type="text" value="" /> <span class="field-validation-valid" data-valmsg-for="AppVersion.MajorRevision" data-valmsg-replace="true"></span></div>
<div class="editor-label"><label for="AppVersion_MinorRevision">MinorRevision</label></div>
<div class="editor-field"><input class="text-box single-line" data-val="true" data-val-number="Значением поля MinorRevision должно быть число." data-val-required="Требуется поле MinorRevision." id="AppVersion_MinorRevision" name="AppVersion.MinorRevision" type="text" value="" /> <span class="field-validation-valid" data-valmsg-for="AppVersion.MinorRevision" data-valmsg-replace="true"></span></div>
但我的控制器中总是有 AppVersion={0.0} 。
[HttpPost]
public ActionResult Add(Model model)
{
if (ModelState.IsValid)
{
Version ver = model.AppVersion;
}
}