在Kendo ui listview中添加/编辑

时间:2014-03-28 13:40:41

标签: asp.net-mvc kendo-ui kendo-listview

我想在asp.net mvc中使用kendo ui listview

这是我的观点:

<div>
    <a class="k-button k-button-icontext k-add-button" href="#"><span class="k-icon k-add"></span>Add New Blog</a>
</div>
<script type="text/x-kendo-tmpl" id="template">
    <div class="product-view k-widget">
        <div class="edit-buttons">
            <a class="k-button k-button-icontext k-edit-button" href="\\#"><span class="k-icon k-edit"></span></a>
            <a class="k-button k-button-icontext k-delete-button" href="\\#"><span class="k-icon k-delete"></span></a>
        </div>
        <dl>
            <dt>Subject</dt>
            <dd>#:Subject#</dd>

            <dt>Description</dt>
            <dd>#:Description#</dd>

            <dt>Address</dt>
            <dd>#:Address#</dd>
        </dl>
    </div>
</script>


<div>
    @(Html.Kendo().ListView<CreateUpdateBlogViewModel>()
          .Name("UserBlogs")
          .TagName("div")
                  .ClientTemplateId("template")
       .DataSource(dataSource =>
       {
           dataSource.Model(m =>
           {
               m.Id( i => i.Id);
               m.Field(f => f.Subject);
               m.Field(f => f.Address);
               m.Field(f => f.Description);
               m.Field(f => f.PageMode).Editable(false);
           });
           dataSource.Read(read => read.Action("UserBlogs_Read", "Webmaster"));
           dataSource.Update(update => update.Action("Editing_Update", "Webmaster"));
           dataSource.Destroy(destroy => destroy.Action("Editing_Destroy", "Webmaster"));
           dataSource.PageSize(1);
       })

          .Pageable().AutoBind(true)
          .Editable()
    )
</div>

我的viewModel(CreateUpdateBlogViewModel)具有属性(如Id,CreationDate,...),当他想要添加或编辑她的博客时,我不想向用户显示这些属性 我希望用户只需编辑主题描述和地址以及其他未显示的属性

怎么做呢?

当前只是在显示模式下显示这三个属性,当我点击添加或编辑按钮时,视图模型的所有属性显示并准备编辑

1 个答案:

答案 0 :(得分:0)

您可以像解释here一样自定义ListView的编辑器模板。因此,您可以避免为这些字段创建编辑器。