在Html.DisplayNameFor

时间:2016-02-29 14:35:32

标签: razor asp.net-mvc-5

它应该很简单,但看不到它...... 我有以下内容:

@Html.EditorFor(model => model.FullName, new
                        {
                            htmlAttributes = new
                            {
                                @class = "form-control",
                                placeholder = "Please type your " + Html.DisplayNameFor( model => model.FullName),
                                data_bind = "value: product.fullname"
                            }
                        })

当我输入Html.DisplayNameFor( model => model.FullName.ToLower())时,我收到异常

  

发生了'System.InvalidOperationException'类型的异常   System.Web.Mvc.dll但未在用户代码中处理

     

附加信息:模板只能用于现场访问,   属性访问,单维数组索引或单参数   自定义索引器表达式。

如何操纵Html.DisplayNameFor内的字符串?

1 个答案:

答案 0 :(得分:7)

DisplayFor()扩展方法返回MvcHtmlString,因此您可以使用ToString()将返回值转换为字符串,然后使用ToLower()

placeholder = "Please type your "
    + Html.DisplayNameFor(model => model.FullName).ToString().ToLower()