如果VS为[HttpGet] Create创建强类型视图,我会得到模型的标记,如下所示。
请注意,为简洁起见,简化了代码。重要的是VS不包括Html.HiddenFor(model=>model.Id)。
//Create.cshtml
@model MvcMovie.Models.Movie
@using (Html.BeginForm())
{
@Html.ValidationSummary(true)
Movie
@Html.LabelFor(model => model.Title)
@Html.EditorFor(model => model.Title)
@Html.ValidationMessageFor(model => model.Title)
@Html.LabelFor(model => model.ReleaseDate)
@Html.EditorFor(model => model.ReleaseDate)
@Html.ValidationMessageFor(model => model.ReleaseDate)
}
现在我为类型ѭ4create创建一个名为Movie.cshtml的模板化HTML助手编辑器,如下所示。
请注意,为简洁起见,简化了代码。重要的是VS DOES包括Html.HiddenFor(model=>model.Id)。
//Movie.cshtml
@model MvcMovie.Models.Movie
@Html.HiddenFor(model => model.Id)
@Html.LabelFor(model => model.Title)
@Html.EditorFor(model => model.Title)
@Html.ValidationMessageFor(model => model.Title)
@Html.LabelFor(model => model.ReleaseDate)
@Html.EditorFor(model => model.ReleaseDate)
@Html.ValidationMessageFor(model => model.ReleaseDate)
如果我使用这个模板,我必须改变Create.cshtml如下:
//Create.cshtml
@model MvcMovie.Models.Movie
@using (Html.BeginForm())
{
@Html.ValidationSummary(true)
Movie
@Html.EditorForModel()
}
问题是:
由于可以删除隐藏的字段形式而没有任何副作用,在这种情况下,隐藏字段是什么?