Telerik MVC проблемы с сеткой - PullRequest
       3

Telerik MVC проблемы с сеткой

0 голосов
/ 23 сентября 2011

Хорошо, у 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();
});

В этом окне есть другая сетка, но я не могу получитьАякс для работы с этой второй сеткой.Что-то выключено, и я не знаю, что это такое.

Спасибо.

Изменил 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 голосов
/ 23 сентября 2011

Я думаю, что у вас есть конфликт где-то в вашем представлении. Вот что вы можете сделать, чтобы найти свою проблему:

Создайте представление, которое будет показывать только ваш _GridPesquisaLookup.cshtml без какого-либо ajax. Таким образом, вы сможете проверить только эту сетку. Используйте Html.Partial ("_ GridPesquisaLookup") в своем представлении.

  • Если сетка работает , это потому, что существует конфликт с другим представлением, когда вы используете две сетки одновременно. Может быть, две сетки имеют одинаковое имя . Это случилось со мной несколько месяцев назад, и у меня была такая же проблема, как и у вас.

  • Если сетка не работает , вы будете знать, что ваша проблема в этой сетке. Вам придется сделать больше тестов.

...