转换标签以在视图内呈现

时间:2018-02-20 08:09:18

标签: asp.net-mvc umbraco translation

我正在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

0 个答案:

没有答案
相关问题