나는 두 가지를 보여줍니다 ASP.NET MVC 2를 사용하여 페이지를 만들려고 해요 : 나는 Ajax.BeginForm을 사용했다 수행과의 아래쪽 절반을 업데이트하려고 무엇telerik 그리드와 아약스
1. the upper half of the page should show a form
2. the lower half should show the results based on the information from the form
페이지에서 UpdateTargetId를 사용하십시오. 기본적으로이 방법이 효과적이었습니다. 그러나 결과에는 페이지 가능 인 Telerik 표가 포함됩니다. 이것은 문제가 시작되는 곳입니다.
그리드는 주로 잘 보이지만 그리드 페이지를 탐색하려고하면 잘못되기 시작합니다. 일반 (Ajax가 아닌) 그리드는 링크를 사용합니다. 이 격자 변형을 사용하면 링크가 양식의 정보를 포함하지 않는 새 페이지를 요청하므로 오류 스택이 발생하기 때문에 문제가 발생합니다.
Ajax를 켜면 Ajax를 통해 검색된 부분보기에서 작동하지 않기 때문에 (이 경우 스크립트 태그가 작동하지 않음) Ajax가 작동하지 않습니다. 이 경우에는 JSON 결과 객체를 일반 텍스트로 렌더링합니다.
한 페이지에 모두 넣으면 잘 작동합니다. 그러나 어떤 이유로 그리드는 Ajax를 사용하지 않을 것입니다. 인덱스 뷰에 나는 그리드 렌더링하기 위해 다음 코드를 사용
Html.Telerik().Grid<FoobarListItem>()
.Name("Foobar")
.DataBinding(dataBinding => dataBinding.Ajax().Select("_Paging", "Foobar"))
.ToolBar(commands => commands
.Custom()
.HtmlAttributes(new { id = "export", onclick = onclickValue })
.Text(Html.Alias("default", "ExportCSV"))
.Url("#")
)
.Columns(columns =>
{
//Template column which shows an action link
columns.Bound(o => o.Datum);
columns.Bound(o => o.VerbruikLaag);
columns.Bound(o => o.VerbruikNormaal);
columns.Bound(o => o.VerbruikPiek);
})
.Scrollable(scrolling => scrolling.Height(200).Enabled(false))
.Pageable()
.Localizable("nl-NL")
.Render();
}
를하지만 나하지 아약스 - 데이터 바인딩을 넣어 여부, 여전히 같은 방법으로 테이블을 렌더링합니다. 누군가 내가 잘못 가고 있는지에 대한 생각을 갖고 있습니까?
나는 그것에 대해 읽었지만, 코드는 나를 위해 작동하지 않습니다. – Pieter