2

私はmvc4を使用していて、編集モードが有効になっているtelerikコントロールグリッドを持っています。編集モードは「ポップアップ」です。つまり、編集ボタンをクリックすると、一部のフィールドがテキストボックスに、一部がラベルに入力されたオーバーレイが表示されます。

問題は、フィールド値がラベルに表示されないことです。フィールド値は編集用のテキストボックスにレンダリングされますが、これは問題ありません。

モデルを表示

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
   });
}
4

1 に答える 1

2

Teleric は、テンプレートの編集で DisplayFor をサポートしていないようです。このフロムスレッドで、彼らはそれを確認します http://www.telerik.com/community/forums/aspnet-mvc/grid/clajax-databinding-client-editing.aspx#1906385

于 2012-10-12T12:09:17.723 に答える