我在实体A的详细信息视图中有以下代码
<dt>
@Html.DisplayNameFor(model => model.User1.UserName)
</dt>
<dd>
@Html.DisplayFor(model => model.User1.UserName)
</dd>
我想更改详细信息视图中显示的标题
它显示UserName我希望它被提交
它不能重载因为DisplayName For donot有任何带有两个参数的重载函数
@Html.DisplayFor(model => model.User1.UserName,"Submitted By")
无效
任何帮助
这是我的错误模型,其中我有分配和提交的字段与用户模型相关,因此我遇到了问题&#34; UserName&#34;显示在列名称的位置,它应显示名称为&#34;分配给&#34;和&#34;提交者&#34;
public partial class Bug
{
public int ID { get; set; }
public string Name { get; set; }
public string Description { get; set; }
public string Priority { get; set; }
public string Severity { get; set; }
public string Status { get; set; }
public int AssignedTo { get; set; }
public int SubmittedBy { get; set; }
public int ComponentID { get; set; }
public int ProjectID { get; set; }
public System.DateTime DueDate { get; set; }
public Nullable<int> BugNumber { get; set; }
public string NormalFlow { get; set; }
public System.DateTime CreationDate { get; set; }
public virtual Component Component { get; set; }
public virtual Project Project { get; set; }
public virtual User User { get; set; }
public virtual User User1 { get; set; }
}
答案 0 :(得分:5)
您可以通过模型上的 [显示] 属性控制显示的文字。在您的情况下,您希望在User1的基础模型上设置属性:
public class User
{
[Display(Name = "Submitted By")]
public string UserName;
}
有关DisplayAttribute类的更多详细信息,请参阅https://msdn.microsoft.com/en-us/library/system.componentmodel.dataannotations.displayattribute.name%28v=vs.110%29.aspx。
答案 1 :(得分:4)
只要您想更改标签的显示文字,无需更改您的型号.. 只需编辑您的Razor View:
<dt>
@Html.DisplayName("Submitted By")
</dt>
<dd>
@Html.DisplayFor(model => model.User1.UserName)
</dd>
或强>
<dt>
Submitted By
</dt>
<dd>
@Html.DisplayFor(model => model.User1.UserName)
</dd>
答案 2 :(得分:0)
这是一个为我工作的。
@Html.LabelFor(model => model.category_type_id, "Category Type", htmlAttributes: new { @class = "control-label col-md-2" })