Telerik MVC网格问题

时间:2011-09-23 12:57:40

标签: jquery asp.net-mvc telerik telerik-grid

好的,Telerik有一些很好的视觉吸引力控件,但它很难使用,与html编程差异很大。

我的问题: 我的页面中有一个打开ajax的网格。所以排序,分页..是用我的控制器的ajax调用。 在这个页面中有一个链接打开一个窗口(telerik one ..),这个窗口是用这个javascript代码打开的:

 $(".bs-icon").live("click", function () {

    var windowElement = $.telerik.window.create({
        Name: "myWindow",
        title: "Pesquisa",
        modal: true,
        resizable: false,
        draggable: true,
        scrollable: false,
        visible: false,
        width: 500,
        height: 400,
        onClose: function () { }
    });

    var w = windowElement.data("tWindow");
    w.ajaxRequest("Alerts/IndexLookup/");
    w.center().open();
});

在这个窗口中有另一个网格,但是我无法使用ajax来处理第二个网格。有些东西被关闭了,我不知道它是什么。

感谢。

将javascript更改为:

$.get("/AlertaGeral/IndexLookup",
        function (response) {
            $("#form-temp").html(response);
        });
    return false;

离开telerik窗口。同样的问题。 来自ajax请求的网格无法正常工作。将它包含在页面中后,可能会丢失一些设置。


这是AlertaGeralController:

    public ActionResult IndexLookup(Consulta.FiltroPadrao filtro = null)
    {
        if (Session["token"] == null)
            return RedirectToAction("Index", "Home");

        if (filtro == null)
            filtro = new Consulta.FiltroPadrao { Descricao = null };

        ResultadoPadrao[] registros = consulta.Pesquisar(Session["token"].ToString(), "SamAlertageral", filtro);

        Session["ultimoFiltro"] = filtro;

        return PartialView("_GridPesquisaLookup", registros);
    }

和视图_GridPesquisaLookup.cshtml:

@model  Benner.Saude.Consulta.ResultadoPadrao[]


@(Html.Telerik().Grid(Model)
    .Name("Grid")
    .DataKeys(keys => keys.Add(c => c.Handle))         
    .DataBinding(dataBinding => dataBinding
        .Ajax()
        .Select("AjaxPesquisarLookup", "AlertaGeral")
            )
    .HtmlAttributes(new { @class = "grid-padrao" })        
    .ClientEvents(events => events
        .OnDataBound("atualizarCss")
        .OnRowSelect("selecionarRegistro")
    )        
    .Columns(columns =>
    {
        columns.Bound("Descricao").Title("Descrição");
        columns.Bound("Handle").Title("Código");            
    })        
    .Pageable()
    .Sortable()

    )

1 个答案:

答案 0 :(得分:0)

我认为您的视图中某处存在冲突。在这里你可以做些什么来找到你的问题:

创建一个只显示没有任何ajax的_GridPesquisaLookup.cshtml的视图。这样,您将只能测试此网格。在视图中使用Html.Partial(“_ GridPesquisaLookup”)。

  • 如果网格工作,则因为当您同时使用两个网格时与另一个视图发生冲突。 也许这两个网格具有相同的名称。几个月前发生在我身上,我遇到了和你一样的问题。

  • 如果网格不起作用,您就会知道您的问题来自此网格。你将不得不做更多的测试。