Я использую ASP.NET MVC3 с Razor и C #. Я делаю своего рода конструктор форм, поэтому у меня есть модель, которая содержит коллекцию следующих объектов:
public class MyFormField
{
public string Name { get; set; }
public string Value { get; set; }
public MyFormType Type { get; set; }
}
MyFormType - это просто перечисление, которое сообщает мне, является ли поле формы флажком, текстовым полем, загрузкой файла или что бы ни. Мой шаблон редактора выглядит примерно так (см. Комментарий):
~ / Views / EditorTemplates / MyFormField.cshtml
@model MyFormField
@{
switch (Model.Type)
{
case MyFormType.Textbox:
@Html.TextBoxFor(m => m.Value)
case MyFormType.Checkbox:
@Html.CheckBoxFor(m => m.Value) // This does not work!
}
}
Я попытался привести / преобразовать m.Value
в логическое значение в лямбда-выражении для CheckBoxFor (), но это вызвало ошибку. Я бы просто вручную создал поле ввода флажка, но CheckBoxFor (), похоже, выполняет две вещи, которые я не могу воспроизвести:
Кто-нибудь знает способ использования CheckBoxFor () в строке, или способ воспроизвести его функциональность вручную, чтобы я мог выполнить эту работу?