suppress exception if eval() fails
authorKonstantin Triger <kostat@mono-cvs.ximian.com>
Sun, 21 Jan 2007 15:39:08 +0000 (15:39 -0000)
committerKonstantin Triger <kostat@mono-cvs.ximian.com>
Sun, 21 Jan 2007 15:39:08 +0000 (15:39 -0000)
svn path=/trunk/mcs/; revision=71423

mcs/class/System.Web/System.Web.UI.WebControls/ChangeLog
mcs/class/System.Web/System.Web.UI.WebControls/DetailsView.js
mcs/class/System.Web/System.Web.UI.WebControls/GridView.js
mcs/class/System.Web/System.Web.UI.WebControls/Menu.js
mcs/class/System.Web/System.Web.UI.WebControls/TreeView.js

index 7c2ed9a4b9a8eaa16d41b62ebe499e1e5f393b1a..d671f625200b17d1f4a5f868c7a72f3007fc306d 100644 (file)
@@ -1,3 +1,8 @@
+2007-01-21  Konstantin Triger <kostat@mainsoft.com>
+
+       * TreeView.js, DetailsView.js, Menu.js, GridView.js:
+               suppress exception if eval() fails.
+
 2007-01-20  Miguel de Icaza  <miguel@novell.com>
 
        * DataControlFieldCollection.cs (RemoveAt): remove unused
index d69c1b477003e6fd20582ff2b2788b33927167bc..406007a2339555f167e9412eb705df159f03ec33 100644 (file)
@@ -1,13 +1,17 @@
 function DetailsView_ClientEvent (ctrlId, evnt)\r
 {\r
-       var gridData = eval (ctrlId + "_data");\r
+       var gridData = getDetails (ctrlId);\r
+       if (!gridData)\r
+           return null;\r
        var clientData = gridData.pageIndex + '|' + evnt;\r
        WebForm_DoCallback (gridData.uid, clientData, DetailsView_ClientRender, ctrlId, DetailsView_ClientRender_Error);\r
 }\r
 \r
 function DetailsView_ClientRender (data, ctx)\r
 {\r
-       var gridData = eval (ctx + "_data");\r
+       var gridData = getDetails (ctx);\r
+       if (!gridData)\r
+           return;\r
        var grid = document.getElementById (ctx + "_div");\r
        var i = data.indexOf ("|");\r
        gridData.pageIndex = parseInt (data.substring (0, i));\r
@@ -20,3 +24,6 @@ function DetailsView_ClientRender (data, ctx)
 function DetailsView_ClientRender_Error (data, ctx)\r
 {\r
 }\r
+\r
+function getDetails (detailsId) { try { return eval (detailsId + "_data"); } catch(e) { return null; } }\r
+\r
index 3accf5007d28711c158d9cdac368a5c4c863c2ea..52857f285934467316881c9c16705a54a11cda5e 100644 (file)
@@ -1,13 +1,17 @@
 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);
 }
 
 function GridView_ClientRender (data, ctx)
 {
-       var gridData = eval (ctx + "_data");
+       var gridData = getGrid (ctx);
+       if (!gridData)
+           return;
        var grid = document.getElementById (ctx + "_div");
        var i = data.indexOf ("|");
        var j = data.indexOf ("|", i+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; } }
+
index e7fc350911708a68a8bd7ec31e6ae45d4f8b5fd4..6b7ec07db9c9e88ff7653073b9e9e16fe304b267 100644 (file)
@@ -203,7 +203,7 @@ function Menu_Resize (subm, menuId, itemId)
        btn.style.display = displayScroll;
 }
 
-function getMenu (menuId) { return eval (menuId + "_data"); }
+function getMenu (menuId) { try { return eval (menuId + "_data"); } catch(e) { return null; } }
 function getSubMenu (menuId, itemId) { return document.getElementById (menuId + "_" + itemId + "s"); }
 function getMenuItem (menuId, itemId) { return document.getElementById (menuId + "_" + itemId + "i"); }
 function getMenuItemLink (menuId, itemId) { return document.getElementById (menuId + "_" + itemId + "l"); }
index c33a02f7ef8a6ec2006be3bf5c4a288fdf55408f..1d4994f8496040be1dd4a3cdff207372c9d0d9ac 100644 (file)
@@ -79,7 +79,7 @@ function TreeView_ErrorCallback (data, ids)
        node.hasError = true;
 }
 
-function getTree (treeId) { return eval (treeId + "_data"); }
+function getTree (treeId) { try { return eval (treeId + "_data"); } catch(e) { return null; } }
 function getNodeLink (node) { return node.childNodes[node.childNodes.length - 1]; }
 
 function TreeView_HoverNode (treeId, node)