У меня есть кендо сетки с Ajax связыванияПолучить стоимость недвижимости в шаблоне редактора кендо сетки
@(Html.Kendo().Grid<LightViewModelExtended>()
.Name("LightsGrid")
.Columns(col =>
{
col.Bound(x => x.LightID)
.ClientTemplate(Html.ActionLink("#: LightID #", "Edit", new { id = "#: LightID #" }).ToHtmlString());
col.Bound(x => x.Name);
col.Command(command => command.Edit());
col.Command(command => command.Destroy());
})
.ToolBar(toolbar => toolbar.Create())
.Editable(editable => editable.Mode(GridEditMode.PopUp).TemplateName("LightExtended"))
.DataSource(dataSource => dataSource
.Ajax()
.Model(model => model.Id(x => x.LightID))
.Read(read => read.Action("GetLights", "Lights"))
.Create(create => create.Action("CreateLight", "Lights"))
.Update(update => update.Action("UpdateLight", "Lights"))
.Destroy(destroy => destroy.Action("DeleteLight", "Lights"))
))
У меня также есть шаблон редактора
<table>
<tr>
<td>
@Html.LabelFor(model => model.Name)
</td>
<td>
@Html.KendoTextBoxFor(model => model.Name)
</td>
<td>
@Html.ValidationMessageFor(model => model.Name)
</td>
</tr>
</table>
Я хочу, чтобы показать ссылку действий в шаблоне редактора
@Html.ActionLink(Model.LightID + ".ies", "Download", "Lights", new { id = Model.LightID }, null)
так он будет выглядеть
<table>
<tr>
<td>
@Html.LabelFor(model => model.Name)
</td>
<td>
@Html.KendoTextBoxFor(model => model.Name)
</td>
<td>
@Html.ValidationMessageFor(model => model.Name)
</td>
<td>
@Html.ActionLink(Model.LightID + ".ies", "Download", "Lights", new { id = Model.LightID }, null)
</td>
</tr>
</table>
И дайте мне ссылки, как «1.ies», «2.ies» и так далее, что приводит меня к http://mysite/Lights/1 где 1 является ID, но это выглядит как «0.ies»
я знаю, что Модель свойство не заполняется данными при использовании привязки Ajax, но я не могу найти правильный путь для достижения этой
Я уже пытался @Html.ValueFor
и #: LightID #
, но это не сработало
Не могли бы вы уточнить, что именно исправлено? Это '#: LightID #' или '@ Html.ValueFor'? – mrmashal
Я обновил свой ответ – Saito