将aspx代码转换为剃刀

时间:2011-04-18 20:58:17

标签: asp.net-mvc razor telerik

将以下telerik aspx代码转换为剃刀视图引擎时遇到了很多麻烦。我得到的错误是:'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();
}

由于 莱恩

1 个答案:

答案 0 :(得分:0)

您不能将HTML放在Razor中的表达式中。

相反,请使用内嵌模板:

    columns.Template(@<text>
        <input type='button' value='Edit' onclick="updateRecord('@item.Id')" /> 
        <input type='button' value='Delete' onclick="deleteRecord('@item.Id')" /> 
    </text>)