2013-08-09 5 views
0

최근 ASP.NET 프로젝트를 .NET 4.5 (3.5 이상)로 업데이트했습니다. 이로 인해 ClientSideEvents이 제대로 표시되지 않습니다. Infragistics UltraWebGrid..NET 4.5에서 Infragistics UltraWebGrid 클라이언트 측 이벤트가 깨졌습니다.

문제 내에서 .aspx 파일에 나는이 같은 UltraWebGrid에 클라이언트 측 이벤트를 구성한 것입니다 :

<ClientSideEvents ClickCellButtonHandler="webGridSoftwareConfigurations_CellClickHandler" /> 

그리고 JS 파일에

나는 다음과 같은 한 :

function webGridSoftwareConfigurations_CellClickHandler(gridName, cellId) { 
    // Do some stuff 
} 

이전에 셀을 클릭하면 javascript 함수가 트리거되었습니다. 그러나 .NET 4.5로 업데이트 한 후에는 아무 일도 일어나지 않습니다. Infragistics2, Infragistics.Web.dll 버전 11.1.20111.2112를 사용하고 있습니다.

+0

.NET 프레임 워크의 버전이 변경 되어도이 동작에 영향을 미치지 않습니다. 다른 변화가 있었습니까? 또한 페이지에 JavaScript 오류가 있습니까? – alhalama

+0

.NET 4.5로 업데이트 한 이후로'WebAsyncRefreshPanel'도 오작동하는 것으로 나타났습니다. 패널 만 다시로드하는 대신 전체 페이지가 다시로드됩니다. – Joel

+0

페이지에 자바 스크립트 오류가 다시 있습니까? 또한 닫히지 않은 태그를 여는 경우 페이지의 마크 업이 유효하지 않은 경우 WebAsyncRefreshPanel이 실패 할 수 있습니다. – alhalama

답변

0

내 문제의 근본 원인은 실제로 ASP.NET 4.x가 컨트롤 ID가 어떻게 생성되는지에 따라 달라집니다. 이전에는 ID 앞에 ctl00이 붙었으며 이전 Infragistics NetAdvantage 컨트롤은이 컨트롤에 종속 된 것처럼 보입니다.

내 솔루션 하였다 :

첫째, 최신 버전 (NetAdvantage 2011)으로 업데이트 Infragistics의 NetAdvantage. 최신 버전이 있지만이 버전은 .NET 3.5를 계속 지원하므로 Infragistics NetAdvantage to .NET 4.5를 사용하는 모든 프로젝트를 업데이트 할 수 없으므로이 기능이 필요합니다.

그리고 나서 web.config을 업데이트하여 이전 방식 this 대답, 그리고 스콧 구에 의해 this 블로그 게시물에

<configuration> 
    <system.web> 
     <pages controlRenderingCompatibilityVersion="3.5" clientIDMode="AutoID" > 

감사 : 명명 컨트롤.