我得到了BC30205:期待结束语

时间:2012-12-05 23:34:52

标签: asp.net vb.net razor c#-to-vb.net

我想知道这个关于Razor的VB.NET代码有什么问题。

@grid.GetHtml("table",
               columns:=New WebGridColumn() {grid.Column("RazonSocial", "Razón Social", canSort:=True),
                                              grid.Column("FechaInicioOp", "Fecha Inicio", Function(c) c.FechaInicioOp.ToShortDateString, canSort:=True),
                                              grid.Column("Direccion.Descripcion", "Dirección", canSort:=False),
                                              grid.Column("Direccion.Estado.Nombre", "Estado", canSort:=False),
                                              grid.Column("", "",
                                                          @@<p>
                                                              @Html.ActionLink("Configurar", "Edit", New With {.IdCondominio = item("IdCondominio")}, New With {.class = "ico edit"})
                                                          </p>
                                                          )})

当我调试应用程序时,我得到了这个:“BC30205:期望结束语。”

我只是想把这个C#代码转换成VB.NET

@grid.GetHtml(
fillEmptyRows: true,
alternatingRowStyle: "fila-alternativa",
headerStyle: "encabezado-grid",
footerStyle: "pie-grid",
mode: WebGridPagerModes.All,
firstText: "<< Primera",
previousText: "< Anterior",
nextText: "Siguiente >",
lastText: "Última >>",
columns: new[] {
    grid.Column("Nombre", canSort: false),
    grid.Column("Apellidos"),
    grid.Column("EMail", 
                 format: @<a href="mailto:@item.Email">@item.Email</a>
    ),
    grid.Column("FechaNacimiento", 
                header: "Fecha de nacimiento",
                format: p=>p.FechaNacimiento.ToShortDateString()
    ),
    grid.Column("NumeroDeHijos", 
                header: "Número de hijos",
                style: "a-la-derecha"
    ),
    grid.Column("",
                header: "Acciones",
                format: @<text>

@Html.ActionLink("Editar", "Edit", new { id = item.IdPersona }) | @Html.ActionLink("Eliminar", "Delete", new { id = item.IdPersona }) </text>)
})

但我不知道什么是错的,或者是否有什么遗漏。

1 个答案:

答案 0 :(得分:1)

我认为你没有完全适合列集合的翻译。

如果我更改以下内容:

columns:=New WebGridColumn()

阅读:

columns:=grid.Columns(

然后还在语句的末尾添加一个close-parentheses')',然后它对我有效。

包含更改的整个声明如下:

@grid.GetHtml("table",
               columns:=grid.Columns(
               {
                   grid.Column("RazonSocial", "Razón Social", canSort:=True),
                   grid.Column("FechaInicioOp", "Fecha Inicio", Function(c) c.FechaInicioOp.ToShortDateString, canSort:=True),
                   grid.Column("Direccion.Descripcion", "Dirección", canSort:=False),
                   grid.Column("Direccion.Estado.Nombre", "Estado", canSort:=False),
                   grid.Column("", "",
                   @@<p>
                   @Html.ActionLink("Configurar", "Edit", New With {.IdCondominio = item("IdCondominio")}, New With {.class = "ico edit"})
                   </p>
                   )}))

希望有所帮助。