Введение:как отправить текущую модель с точки зрения UIHint
У меня есть сетка с полем Called значение и что поле может быть отредактирован пользователем.
В моей модели у меня есть IEnumerable List with PossibleValues, в случае, если Возможные значения = Пустой, когда пользователи пытаются отредактировать (значение поля в сетке). Я должен отображать текстовое поле по умолчанию, но если параметр ValueValues имеет значения, я буду должны показать DropDownList со всеми возможными значениями.
Проблема:
Использование UIHint в режиме редактирования можно отобразить DROPDOWNLIST, но я не знаю, как передать текущую модель в Overrieded View ...
Кодекс :
Модель:
public class FamilyParameter
{
public FamilyParameter()
{
PossibleValues = new List<string>();
}
[DisplayName("Value")]
[UIHint("_FamilyParameterValue")]
public string Value { get; set; }
public IEnumerable<string> PossibleValues { get; set; }
}
}
Вид: Общий/EditorTemplates/_FamilyParameterValue.cshtml
@model Bpt.Domain.FamilyParameter
@Html.Telerik().DropDownList().Name("demo");
Вид: Основное
<div style="height:270px" >
<table>
<tr>
<td width="100%">
<br />
@(Html.Telerik().Grid<FamilyParameter>()
.Name("GridParam")
.DataKeys(keys => keys.Add(param => param.Code))
.HtmlAttributes(new { style = "width: 420px;" })
.NoRecordsTemplate("No existen resultados...")
.DataBinding(
dataBinding => dataBinding.Ajax()
.Select("_EditMaterial_SelectParameters", Controllers.Valoration,Model)
.Update("_EditMaterial_UpdateParameters", Controllers.Valoration,Model)
)
.Columns(columns =>
{
columns.Bound(param => param.Code).Width("75px").HtmlAttributes(new { style = "text-align: left;" }).ReadOnly();
columns.Bound(param => param.Description).Width("200px").HtmlAttributes(new { style = "text-align: left;" }).ReadOnly();
columns.Bound(param => param.Value).Width("65px").HtmlAttributes(new { style = "text-align: left;" });
columns.Command(commands =>
commands.Edit().ButtonType(GridButtonType.Image)
).Width(60);
})
.Editable(editing => editing.Mode(GridEditMode.InLine))
.Scrollable(scrolling => scrolling.Height(140))
.Footer(false)
.Sortable()
.Resizable(resizing => resizing.Columns(true))
.Reorderable(reorder => reorder.Columns(true))
)
</td>
</tr>
</table>
</div>