问题
When calling Html.EditorFor(m => m)
, where m
is a public class with public properties, a hidden input and a label are displayed for properties with the [HiddenInput]
attribute.
- How can I hide the label without making it private or creating an editor template?
Example
public class User
{
[HiddenInput]
public Guid ID { get; set; } // should not be displayed in editor template
public string Name { get; set; } // should be editable
}
Undesired result for ID property by EditorFor(...)
with label
<div class="editor-label">
<label for="ID">ID</label> <!-- Why is this here? -->
</div>
<div class="editor-field">
<input id="ID" name="ID" type="hidden" value="">
</div>
回答1:
Solved with:
[HiddenInput(DisplayValue=false)]
Otherwise HideSurroundingHtml
is not set correctly.
来源:https://stackoverflow.com/questions/2793545/hide-editor-label-for-public-property-when-calling-editorfor