Использование сложного объекта на странице Razor - PullRequest
0 голосов
/ 28 мая 2020

Я пытаюсь использовать страницу Razor, чтобы показать сложный объект для редактирования. У меня есть объект:

public class ItemYesNo
{
    public Boolean? Value { get; set; }
    public String Comment { get; set; }
}

У меня это как модель:

public class Model
{
    [Display(Name = "Field 1 Label")]
    ItemYesNo Field1 { get; get; };
}

У меня есть это на странице Razor html, и я хочу автоматически генерировать поля для логическое? и String.

@Html.ItemYesNoFor(h=>h.XXX.Field1)

Тогда у меня есть собственный класс HtmlExtensions, например:

public static class HtmlExtensions
{
    public static IHtmlContent ItemYesNoFor(this IHtmlHelper<XXX> html, Expression<Func<XXX, ItemYesNo>> 
    expression)
    {
        //I can get the label(Display Name) from:
        IHtmlContent htmlContent = HtmlHelperLabelExtensions.LabelFor(html, expression);
    }
    ...
}

Есть ли способ получить лямбду для логического значения? Value и String из класса HtmlExtension, мне нужно сделать лямбда для входной лямбды.

    HtmlHelperInputExtensions.RadioButtonFor(???);
    HtmlHelperInputExtensions.TextBoxFor(???);
...