Sha*_*ham 80 html-helper asp.net-mvc-3
在剃刀引擎中,我使用了LabelFor帮助方法来显示名称
但显示名称似乎不好显示.所以我需要更改我的显示名称如何做到....
@Html.LabelFor(model => model.SomekingStatus, new { @class = "control-label"})
Run Code Online (Sandbox Code Playgroud)
Dar*_*rov 154
您可以使用[DisplayName]属性修饰视图模型属性并指定要使用的文本:
[DisplayName("foo bar")]
public string SomekingStatus { get; set; }
Run Code Online (Sandbox Code Playgroud)
或者使用LabelFor帮助器的另一个重载,它允许您指定文本:
@Html.LabelFor(model => model.SomekingStatus, "foo bar")
Run Code Online (Sandbox Code Playgroud)
并且,不,您不能像在尝试那样在MVC3中指定类名,因为LabelFor帮助程序不支持它.但是,这可以在MVC4或5中使用.
Gon*_*ing 30
这是一个老问题,但现有的答案忽略了在重新生成模型时丢弃任何自定义属性的严重问题.我正在添加更详细的答案,以涵盖当前可用的选项.
[DisplayName("Name goes here")]属性添加到数据模型类.缺点是,无论何时重新生成数据模型,都会丢弃它.Html.LabelFor.例如:@Html.LabelFor(model => model.SomekingStatus, "My New Label", new { @class = "control-label"})参考:https://msdn.microsoft.com/en-us/library/system.web.mvc.html.labelextensions.labelfor(v = vs.118).aspx这方面的缺点是你必须重复这个标签在每个视图中.Microsoft允许在Entity Framework类上装饰属性,而无需修改现有类!这是通过附加到数据库类的元数据类(实际上是EF类的横向扩展).这允许将属性添加到关联的类而不是类本身,以便在重新生成数据模型时不会丢失更改.
例如,如果您的数据类MyModel具有SomekingStatus属性,则可以这样执行:
首先声明一个同名的部分类(并使用相同的命名空间),这允许您添加一个类属性而不被覆盖:
[MetadataType(typeof(MyModelMetaData))]
public partial class MyModel
{
}
Run Code Online (Sandbox Code Playgroud)
所有生成的数据模型类都是部分类,它允许您通过简单地创建更多相同名称的类来添加额外的属性和方法(这非常方便,我经常使用它,例如在模型中提供其他字段类型的格式化字符串版本).
第2步:添加新分部类引用的元数据类:
public class MyModelMetaData
{
// Apply DisplayNameAttribute (or any other attributes)
[DisplayName("My New Label")]
public string SomekingStatus;
}
Run Code Online (Sandbox Code Playgroud)
参考: https ://msdn.microsoft.com/en-us/library/system.componentmodel.dataannotations.metadatatypeattribute(v = vs.110).aspx
[required]等)上的现有属性,因此您可能需要复制元数据类中的那些属性.xan*_*ded 15
您可以通过使用DisplayName属性装饰属性来更改标签的文本.
[DisplayName("Someking Status")]
public string SomekingStatus { get; set; }
Run Code Online (Sandbox Code Playgroud)
或者,您可以明确地编写原始HTML:
<label for="SomekingStatus" class="control-label">Someking Status</label>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
116775 次 |
| 最近记录: |