Создание пользовательских помощников Asp.net MVC 3 - PullRequest
1 голос
/ 06 июля 2011

Я хочу создать пользовательский помощник asp.net mvc3.

Чтобы использовать этот помощник, я должен написать синтаксис, как показано ниже

@Html.DisplayMyCustomHelper(model => model.FullName)

Ожидаемый вывод

Full Name (Value Picked from model's Display attribute)= Current Value Of Property

Например:

public Class User
{
      [Display(Name="Full Name")]
      public string FullName{get;set;}
}

User = new User{FullName="Tom Cruise"};

Внутренняя бритва

@model User
@Html.DisplayMyCustomHelper(model => model.FullName)

Ожидаемый выход

Полное имя = Том Круз


Как я могу это сделать?

1 Ответ

1 голос
/ 06 июля 2011
public static MvcHtmlString DisplayMyCustomHelper<TModel, TValue>(this HtmlHelper<TModel> htmlHelper, Expression<Func<TModel, TValue>> expression)
    {
        const string format = "{0} = {1}";

        var metadata = ModelMetadata.FromLambdaExpression<TModel, TValue>(expression, htmlHelper.ViewData);

        var model = metadata.Model;

        var result = string.Format(format, metadata.DisplayName, model == null ? string.Empty : model.ToString());

        return MvcHtmlString.Create(result);
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...