使用MVC5我在模型中定义了以下内容
[HiddenInput(DisplayValue = false)]
public DateTime Created { get; set; }
我不希望此字段出现在任何MVC生成的视图中。但是,在构建视图时,我会为此隐藏字段生成标签,如下所示。
使用此属性的正确方法是什么,以便不输出字段及其标签?
答案 0 :(得分:2)
[HiddenInput(DisplayValue = false)]
public int Id { get; set; }
将呈现为
<input id="Id" name="Id" type="hidden" />
when using Html.EditorForModel() or Html.EditorFor(m => m.Id)
检查用户界面中的呈现内容,键入=&#34;隐藏&#34; 或其他内容。
答案 1 :(得分:0)
您可以在视图中使用@Html.HiddenFor
,如下所示: -
型号: -
public DateTime Created { get; set; }
查看: -
@Html.HiddenFor(model=>model.Created)
答案 2 :(得分:0)
我知道这是一篇旧文章,但是我遇到了同样的事情。我的视图设置为
07-21 18:14:31.581 30405-3770/? E/MyGcmListenerService: {"id":142420,"image_type":0,"image_url":"http://p16.muscdn.com/img/tos-maliva-p-0068/c9ec231abd7b46cf8ca36227615e2fad~c5_100x100.jpeg","open_url":"sslocal://aweme/detail/6572808861554576646?label=admin\u0026gd_label=click_push_recommend\u0026gid=6572808861554576646\u0026push_id=142420","text":"Beautiful wedding ","title":"","use_led":1}
07-21 18:14:31.581 30405-30405/? E/FirebaseInstanceId: Failed to resolve target intent service, skipping classname enforcement
07-21 18:14:31.591 30405-30405/? E/FirebaseInstanceId: Error while delivering the message: ServiceIntent not found.
07-21 18:14:
我的模特是
<div class="form-group row">
@Html.LabelFor(model => model.Summary.LeaID, htmlAttributes: new { @class = "col-form-label col-md-3" })
<div class="col-md-9">
@Html.EditorFor(model => model.Summary.LeaID, new { htmlAttributes = new { @class = "form-control"}})
@Html.ValidationMessageFor(model => model.Summary.LeaID, "", new { @class = "text-danger" })
</div>
</div>
渲染视图时,我得到了标签(LabelFor),但EditorFor被正确隐藏了。
答案 3 :(得分:0)
如果唯一的问题是显示标签,则使用Display属性为模型属性添加注释:
[HiddenInput(DisplayValue = false)]
[Display(Name ="")]
public string LeaID { get; set; }
如果执行此操作,标签将不会显示,但屏幕上仍有空白,表明应该出现LeaID段的位置。或者,您可以按照Kartikeya Khosla的建议手动更改视图。