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