none
Html.Action dentro de un ClientTemplate de grid Telerik RRS feed

  • Pregunta

  • Hola

    Estoy intentando crear un grid de telerik que en una columna tenga un control de anexos (uploadButton) el cual esta probado y funcionamiento.

    El problema lo tengo en la columna columns.Bound(c => c.checkListCampoId) ya que tengo que pasarle al HTML.Action  el valor de la columna checkListCampoId  al parámetro numControl pero se produce un error diciendo que el campo lambda no es un delegado.

    ¿Alguien podría indicarme como hacerlo?

     .Columns(columns =>
                    {  
                        columns.Bound(c => c.codigo).Filterable(false).ReadOnly();
                        columns.Bound(c => c.etiqueta).Title("Concepto").Filterable(false).ReadOnly();
                        columns.Bound(c => c.valorBien).Title("Bien").Filterable(false).ReadOnly().Width(50)
                                                                   .ClientTemplate("<input type='checkbox' <#= chkValorBien#> disabled='disabled'>")
                                                                   .Template(@<text><input type='checkbox' @item.chkValorBien disabled="disabled"></text>);
                        columns.Bound(c => c.valorMal).Title("Mal").Filterable(false).ReadOnly().Width(50)
                                                                    .ClientTemplate("<input type='checkbox' <#= chkValorMal#> disabled='disabled'>")
                                                                    .Template(@<text><input type='checkbox' @item.chkValorMal disabled="disabled"></text>);
                        columns.Bound(c => c.comentarios).Filterable(false).ReadOnly();
                        columns.Bound(c => c.checkListCampoId).Title("foto").Filterable(false).ReadOnly().Width(50)
                                                                    .ClientTemplate(
                                                                                    Html.Action("MultipleAnexo", "Anexo", new
                                                                                                                    {
                                                                                                                        area = "",
                                                                                                                        //numControl = "<#=checkListCampoId#>",   
                                                                                                                        numControl = "CARACAS",
                                                                                                                        anexoLabel = "Anexos",
                                                                                                                        readOnly = false,
                                                                                                                        listaAnexos = @Model.fotos,
                                                                                                                        aplicacionId = 1,
                                                                                                                        registroId = 1
                                                                                                                    }).ToHtmlString()
                                                                                                .Replace("CARACAS", "<#= checkListCampoId #>")
                                                                                    );	
    La solución que he encontrado es poner en numControl una cadena fija pe: "CARACAS" y después hacer un replace de la cadena por el valor del checkListCampoId que necesito.

    En este caso el error que se produce es el siguiente ReferenceError: onLoadAnexoCARACAS is not defined cuando la función JavaScript con este nombre la he creado a mano para que no me de error.

    Agradezco cualquier ayuda.

    ¿Alguien sabe como hacer funcionar alguna de las dos opciones ?

    martes, 20 de enero de 2015 17:47