@Model或@ Html.DisplayFor在mvc4中的editortemplates中不起作用

时间:2012-05-18 16:47:23

标签: telerik asp.net-mvc-4

我正在使用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
   });
}

1 个答案:

答案 0 :(得分:1)

Telerik在编辑模板时似乎不支持DisplayFor。 在这个论坛帖子中,他们确认http://www.telerik.com/community/forums/aspnet-mvc/grid/clajax-databinding-client-editing.aspx#1906385