Merge pull request #2916 from ludovic-henry/fix-40306
[mono.git] / mcs / class / System.Web / System.Web.UI.WebControls / GridView.js
index f7be509a184379bab2b7772b5aa1e63372e0339b..88830d25c8943ee0fc1c898c55a44781ef475148 100644 (file)
@@ -1,14 +1,18 @@
 function GridView_ClientEvent (ctrlId, evnt)
 {
-       var gridData = eval (ctrlId + "_data");
+       var gridData = getGrid (ctrlId);
+       if (!gridData)
+           return null;
        var clientData = gridData.pageIndex + '|' + escape (gridData.sortExp) + '|' + gridData.sortDir + '|' + evnt;
-       WebForm_DoCallback (gridData.uid, clientData, GridView_ClientRender, ctrlId, GridView_ClientRender_Error);
+       WebForm_DoCallback (gridData.uid, clientData, GridView_ClientRender, ctrlId, GridView_ClientRender_Error, false, gridData.form);
 }
 
 function GridView_ClientRender (data, ctx)
 {
-       var gridData = eval (ctx + "_data");
-       var grid = document.getElementById (ctx);
+       var gridData = getGrid (ctx);
+       if (!gridData)
+           return;
+       var grid = document.getElementById (ctx + "_div");
        var i = data.indexOf ("|");
        var j = data.indexOf ("|", i+1);
        var k = data.indexOf ("|", j+1);
@@ -28,3 +32,6 @@ function GridView_ClientRender (data, ctx)
 function GridView_ClientRender_Error (data, ctx)
 {
 }
+
+function getGrid (gridId) { try { return eval (gridId + "_data"); } catch(e) { return null; } }
+