好的,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()
)
答案 0 :(得分:0)
我认为您的视图中某处存在冲突。在这里你可以做些什么来找到你的问题:
创建一个只显示没有任何ajax的_GridPesquisaLookup.cshtml的视图。这样,您将只能测试此网格。在视图中使用Html.Partial(“_ GridPesquisaLookup”)。
如果网格工作,则因为当您同时使用两个网格时与另一个视图发生冲突。 也许这两个网格具有相同的名称。几个月前发生在我身上,我遇到了和你一样的问题。
如果网格不起作用,您就会知道您的问题来自此网格。你将不得不做更多的测试。