私は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
});
}