我正在使用mvc4,并且启用了编辑模式的telerik控制网格。编辑模式为“PopUp”,这意味着单击编辑按钮时,应显示一个叠加层,其中一些字段填充在文本框中,一些字段填充在标签中。
问题是字段值不会在标签中呈现。字段值在文本框中呈现以进行编辑,这很好。
查看模型
namespace Admin.Models
{
public class ViewModel
{
public int Id{ get; set; }
[DataType(DataType.Text)]
public string Name { get; set; }
}
}
.cshtml文件
@model Admin.Models.ViewModel
<div>
<div class="editor-label">
@Html.LabelFor(model => model.Id)
</div>
<div class="editor-field">
@Model.Id **Does not work,always return 0, should return value 1,2,...**
@Html.DisplayFor(model => model.Id) **Does not work,always return 0, should return value 1,2,...**
</div>
<div class="editor-label">
@Html.LabelFor(model => model.Name)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.Name)
</div>
</div>
控制器代码
[GridAction]
public ActionResult Index()
{
IList<ViewModel> viewModels = GetModelItems();
return View(new GridModel
{
Data = viewModels
});
}
答案 0 :(得分:1)
Telerik在编辑模板时似乎不支持DisplayFor。 在这个论坛帖子中,他们确认http://www.telerik.com/community/forums/aspnet-mvc/grid/clajax-databinding-client-editing.aspx#1906385