我正在Umbraco 7.7.7制作一个表格,我会翻译标签。为此,我使用Display
- 属性和UmbracoHelper
类来访问字典。
public class ContactViewModel
{
private UmbracoHelper _helper = new UmbracoHelper();
[Required]
[Display(Name = _helper.Field("#First name"))] // ← error on this line.
public string FirstName { get; set; }
[Required]
[Display(Name = _helper.Field("#Last name"))] // ← error on this line.
public string LastName { get; set; }
[Required]
[EmailAddress]
[Display(Name = _helper.Field("#Email"))] // ← error on this line.
public string Email { get; set; }
[Required]
[Display(Name = _helper.Field("#Message"))] // ← error on this line.
public string Message { get; set; }
// Some other properties...
public ContactViewModel()
{
_helper = new UmbracoHelper(UmbracoContext.Current);
}
}
以下是我的观点中的代码:
@using (Html.BeginUmbracoForm<FormController>("contact", FormMethod.Post))
{
@(Html.EditorFor<ContactViewModel>())
<div class="form-control">
<input type="submit" value="verzenden" class="submit-button" />
</div>
}
但是我在标记的行上出现了这个错误:
非静态字段,方法或属性
ContactViewModel._helper
需要对象引用。
我也试过这段代码:
private static UmbracoHelper _helper = new UmbracoHelper(UmbracoContext.Current);
并将_helper.Field()
的结果转换为字符串而不是IHtmlString
。
[Required]
[Display(Name = _helper.Field("#First name").ToString())] // ← error on this line.
public string FirstName { get; set; }
但是现在编码也会在标记的行上出现此错误:
属性参数必须是属性参数类型的常量表达式,typeof表达式或数组创建表达式。
P.S。:我正在关注this documentation from our.umbraco.org。