试图创建一个HtmlHelper来包装一个常见的模式

时间:2014-10-15 20:37:25

标签: c# asp.net-mvc

我正在尝试使用以下代码创建一个名为EditBlockFor的HTMLHelper方法,该方法接受模型并在一次传递中创建LabelFor和EditorFor,而不是每次都执行这两项操作。当我从helper.LabelFor获取HtmlString时,我认为我正在正确地传递HtmlHelp我没有LableFor方法可用。我在这里缺少什么?

using System;
using System.Collections.Generic;
using System.Linq.Expressions;
using System.Web;
using System.Web.Mvc;

namespace MyTest.Code
{
    public static class HtmlHelperExtensions
    {
     public static IHtmlString EditBlockFor<T>
     (
     this HtmlHelper<T> helper,
     Expression<System.Func<T, String>> prop,
     Dictionary<String, Object> htmlAttributes = null
     )
        {
            HtmlString label;
            HtmlString item;


            label = helper.LabelFor(prop, htmlAttributes);
            item = helper.EditorFor(prop, htmlAttributes);

            return new HtmlString(label+" "+item);
        }
    }
}

1 个答案:

答案 0 :(得分:0)

忘记一个包含

使用System.Web.Mvc.Html;