使用KendoGrid编辑行



嗨,我正在使用Kendo Grid进行查看。我正在编辑表中的行,但收到了错误。这是我的密码。

@(Html.Kendo().Grid<Invoice.Models.ViewModels.Setup.AccountViewModel>()
    .Name("Account")
    .Columns(columns =>
    {
        columns.Bound(p => p.AccountID).Title("ID").Width(250);
        columns.Bound(p => p.AccountType).Title("Account Type").Width(225);
        columns.Bound(p => p.AccountName).Title("Account Name").Width(225);
        columns.Bound(p => p.Currency).Title("Currency").Width(225);
        columns.Bound(p => p.Status).ClientTemplate("#=data.Status#").Width(225).HtmlAttributes(new {style="text-align:center"});
        //columns.Command(command => command.Custom("Edit").Click("showDetails")).Title("Action").Width(150);
        columns.Command(command => { command.Edit();}).Width(90);
    })
    .ToolBar(toolbar =>
     {
         toolbar.Template(@<text>
            <div class="row-fluid">
                <div class="span1">
                    <div class="toolbar" style="height:25px;">
                        <ul id="menu" style="width:38px; margin-left:22px;" class="span6">
                            <li style="width:36px;">
                                <i class="fa fa-plus"></i>
                                <ul>
                                    @foreach (var account in @ViewBag.AccountType)
                                    {
                                        <li style="width:100px;" class="openid">
                                            @if (@account.Value == "Bank")
                                            {
                                                <label id="Bank1">@account.Value</label>
                                            }
                                            @if (@account.Value == "CreditCard")
                                            {
                                                <label id="Credit">@account.Value</label>
                                            }
                                            @if (@account.Value == "Cash")
                                            {
                                                <label id="Cash1">@account.Value</label>
                                            }
                                        </li>
                                    }
                                </ul>
                            </li>
                        </ul>
                    </div>
                </div>
            </div>
        </text>);
     })
        .Pageable()
        .Sortable()
        .Scrollable()
        .Filterable()
        .HtmlAttributes(new { style = "height:550px;" })
        //.Selectable(selectable => selectable
        //.Mode(GridSelectionMode.Multiple))
        .Editable(ed => ed.Mode(GridEditMode.PopUp).TemplateName("UpdateAccount"))
        .DataSource(dataSource => dataSource
            .Ajax()
            .Events(events => events.Error("error_handler"))
            //.ServerOperation(true)
            .Model(model => model.Id(p => p.AccountID))
            .Read(read => read.Action("Account_Read", "Setup"))
            .Create(c => c.Action("Account_Create", "Setup"))
            .Update(u => u.Action("Account_Update","Setup"))
        )
        )

现在的问题是,我正在从数据库中获取"Status",它是一个HTML标记<span class="label label-success">Active</span>,并将其转换为标签As Active、InActive和Blocked,并将它显示到网格中,但问题是,当我编辑它时,我会收到这个错误。"从客户端检测到潜在危险的Request.Form值(状态="

这里我使用我自己的模板作为

UpdateAccount(.Editable(ed => ed.Mode(GridEditMode.PopUp).TemplateName("UpdateAccount")))其中我没有包括状态字段,但是仍然得到这个错误。我的UpdateAccount模板如下:

<input type="hidden" name="AccountID" id="AccountID" />
<div class="control-group">
    <label class="control-label">Account Type</label>
    <div class="controls">
        <input type="text" name="AccountType" id="AccountType" />
    </div>
</div>
<div class="control-group">
    <label class="control-label">Account Name</label>
    <div class="controls">
        <input type="text" name="AccountName" id="AccountName" />
    </div>
</div>
<div class="control-group">
    <label class="control-label">Currency</label>
    <div class="controls">
        <input type="text" name="Currency" id="Currency" />
    </div>
</div>

请帮帮我!!!

您可以为如下一列设置模板:

columns.Bound(p => p.AccountType)
   .Title("Account Type")
   .Width(225)
   .Template(@<img src="./Images/accountIco.png" title="@item.AccountName" />@item.AccountType);

最新更新