1
을 사용 : 내가 만들고 싶어ASP.NET MVC 3.0 WebGrid는 아약스가 나는 다음과 같은 문제가 발생하고있어
을 WebGrid "도우미" "A JQuery와 스크립트 참조가 아약스 지원을 활성화하기 위해 필요를"내 WebGrid AJAX가 활성화되었습니다. 나는 부분보기
@ModelType WebGrid
@Model.GetHtml(tableStyle:="webgrid", headerStyle:="webgrid-header", footerStyle:="webgrid-footer", alternatingRowStyle:="webgrid-alternating-row", selectedRowStyle:="webgrid-selected-row", rowStyle:="webgrid-row-style",
columns:=Model.Columns(Model.Column(
columnName:=GemeentePostColumnsEnum.NISCode.ToString()),
Model.Column(columnName:=GemeentePostColumnsEnum.GemeenteNaam.ToString()),
Model.Column(columnName:=GemeentePostColumnsEnum.DistrictNaam.ToString()),
Model.Column(columnName:=GemeentePostColumnsEnum.PostCode.ToString()),
Model.Column(columnName:=GemeentePostColumnsEnum.PostNaam.ToString()),
Model.Column(
format:[email protected]@<text>@Ajax.ActionLink("Edit", "AddEdit", New With {.NISCode = item.NISCode}, New AjaxOptions With {.UpdateTargetId = "formGemeentePost", .InsertionMode = InsertionMode.Replace, .HttpMethod = "GET", .OnFailure = "failure"})</text>)))
이 코드 및 컨트롤러이 코드를 가지고 :
Function SearchForm(searchModel As GemeentePostWebService.GemeentePostCriteria) As PartialViewResult
searchModel.Taalcode = "nl"
'Code to fill up Model
ViewBag.WebGrid = CreateGrid(viewModelList)
Return PartialView("Partial/_Grid", ViewBag.WebGrid)
End If
End Function
Private Function CreateGrid(source As List(Of GemeentePostModel)) As WebGrid
Return New WebGrid(source:=source, rowsPerPage:=10, ajaxUpdateContainerId:="grid", defaultSort:=GemeentePostColumnsEnum.GemeenteNaam)
End Function
좀 검색 값을 입력하고 양식을 제출하면, 나는 다음과 같은 오류 얻을 :
을 "WebGrid"도우미에서 Ajax 지원을 활성화하려면 JQuery 스크립트 참조가 필요합니다.
결과 : 올바른 필터링 된 값을 얻었지만 내 div (updatetargetid) i 채워지지 않아.
나는 이미 jQuery를 눈에 거슬리지 스크립트를 추가하고 내 헤더를 포함 : 그것은 if (typeof(jQuery)=='undefined')
에 나누기 경우 다음 그에 jQuery를 찾는 가장 확실히 아니기 때문에
<!DOCTYPE html>
<html>
<head>
<title>X</title>
<link href="/X/Content/Site.css" rel="stylesheet" type="text/css" />
<link href="/X/Content/themes/base/jquery.ui.all.css" rel="stylesheet" type="text/css" />
<script src="/X/Scripts/jquery-1.5.1.min.js" type="text/javascript"></script>
<script src="/X/Scripts/jquery-ui-1.8.11.js" type="text/javascript"></script>
<script src="/X/Scripts/jquery.unobtrusive-ajax.min.js" type="text/javascript"></script>
</head>
firebug 또는 개발자 도구를 사용하여 클라이언트 측 javascript를 디버깅하거나 다른 jquery 라이브러리 등을 찾고있을 수도 있습니다. –
IE에서 개발자 도구를 사용하여 디버깅 한 결과, "JQuery 스크립트 참조가 필요합니다. "WebGrid"도우미 "오류에서 Ajax 지원을 사용 가능하게하십시오. 그것을 건너 뛸 때 레이아웃이없이 div에 삽입 할 페이지가 있습니다. 특정 버전에 대한 참조가 표시되지 않습니다. 경고 : "
는
는
즉 "="를 드롭
을 읽어해야 하는가? (죄송합니다. VB를 사용하신 이후로 오랜 시간이 걸렸습니다.)또한 URL 주소의 부분보기에 대한 컨트롤러 작업 이름과 매개 변수가 표시됩니까? 양식을 서버에 다시 게시하는 방법과 관련이있을 수 있습니다. 사용자가 제출 단추를 누르는 대신 JavaScript를 사용하여 양식 데이터를 프로그래밍 방식으로 게시하려고 할 때 이와 동일한 오류가 발생했습니다. 그에 따라 페이지 새로 고침, 메뉴 선택 및 드롭 다운 선택 이벤트를 채우기 위해 그리드가 필요하고 작업에 어려움을 겪고있었습니다. 내가받은 오류를받은 부분은 웹 페이지가 채워진 부분 페이지 였지만 나머지 페이지는 없었습니다.
문제는 해결하지 못했지만 그 문제를 해결할 수있었습니다. 이
영감에보기이 게시물에서 온
편집 : Multiple Checkbox selection using Webgrid in MVC 3 (select All/Deselect All), Sorting and Paging
희망이 당신이 직면 할 수있는 문제가 어디에이다
출처
2011-12-22 22:10:18 RogerB
아니요, VB 코드에는 등호가 필요합니다. 예 : 출처 : = 모델 –
하는 데 도움이 내 솔루션이 포함 "jquery.unobtrusive-ajax.min.js"파일에 대한 참조가 귀하의 페이지에 있습니다.
YSlow 또는 PageSpeed를 사용하는 경우 제안 사항 중 하나는 css가 머리에 배치되고 javascript가 맨 아래에 배치된다는 것입니다.
이로 인해 발생하는 문제가 발생합니다 (나에게도 마찬가지입니다).
참조가 맨 아래에있는 경우 페이지의 첫 번째로드 (새로 고침)시 WebGrid 도우미가 작업을 시작하기 전에 javascipt 파일이로드되지 않고 팝업이 표시됩니다 누락 된 참조에 대한 메시지 이를 취소하면 페이징 또는 정렬이 실제로 작동하고 페이지를 다시 새로 고칠 때까지 메시지가 사라집니다.
스크립트 참조를 맨 위로 이동하거나 지연 처리를 위해 document.ready 스크립트를 작성할 수 있습니다.
출처
2012-01-19 21:02:38