问题描述
|
将以下telerik aspx代码转换为razor视图引擎时,我遇到很多麻烦。我遇到的错误是:\'CS1012:第一个输入按钮上的字符文字中的字符太多'。
<% Html.Telerik().Grid(Model)
.Name(\"Customers\")
.DataKeys(dataKeys => dataKeys.Add(c => c.CustomerID))
.Columns(columns =>
{
columns.Bound(c => c.CustomerID).Width(130);
columns.Bound(c => c.CompanyName).Width(250);
columns.Bound(c => c.ContactName);
columns.Bound(c => c.Country).Width(200);
columns.Template(c => {
%> <input type=\'button\' value=\'Edit\' onclick=\"updateRecord(\'<%= c.CustomerID %>\')\" /> <%
%> <input type=\'button\' value=\'Delete\' onclick=\"deleteRecord(\'<%= c.CustomerID %>\')\" /> <%
}).Width(150);
})
.Pageable()
.sortable()
.Render();
%>
我的尝试如下:
@{ Html.Telerik().Grid(Model)
.Name(\"Grid\")
.DataKeys(dataKeys => dataKeys.Add(c => c.Id))
.Columns(columns =>
{
columns.Bound(o => o.PartNumber).Width(100);
columns.Template(c => {
} <input type=\'button\' value=\'Edit\' onclick=\"updateRecord(\'@c.Id\')\" /> @{
} <input type=\'button\' value=\'Delete\' onclick=\"deleteRecord(\'@c.Id\')\" /> @{
}).Width(150);
})
.Groupable()
.sortable()
.Pageable()
.Filterable()
.Render();
}
谢谢
瑞安解决方法
您不能将HTML放在Razor中那样的表达式中。
而是使用内联模板:
columns.Template(@<text>
<input type=\'button\' value=\'Edit\' onclick=\"updateRecord(\'@item.Id\')\" />
<input type=\'button\' value=\'Delete\' onclick=\"deleteRecord(\'@item.Id\')\" />
</text>)