3 // Permission is hereby granted, free of charge, to any person obtaining
4 // a copy of this software and associated documentation files (the
5 // "Software"), to deal in the Software without restriction, including
6 // without limitation the rights to use, copy, modify, merge, publish,
7 // distribute, sublicense, and/or sell copies of the Software, and to
8 // permit persons to whom the Software is furnished to do so, subject to
9 // the following conditions:
11 // The above copyright notice and this permission notice shall be
12 // included in all copies or substantial portions of the Software.
14 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15 // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16 // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17 // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18 // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19 // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
23 * Namespace: System.Web.UI
26 * Author: Gaurav Vaish
27 * Maintainer-> gvaish@iitk.ac.in
29 * Contact: <gvaish@iitk.ac.in>
32 * (C) Gaurav Vaish (2001)
36 using System
.Collections
;
38 using System
.Reflection
;
40 namespace System
.Web
.UI
44 internal static object InvokeMethod(MethodInfo info
, object obj
, object[] parameters
)
49 retVal
= info
.Invoke(obj
, parameters
);
50 } catch(TargetInvocationException tie
)
52 throw tie
.InnerException
;
57 internal static string GetClientValidatedEvent(Page page
)
59 return "if (typeof(Page_ClientValidate) == 'function') Page_ClientValidate();";
62 internal static string GetClientValidatedPostBack(Control control
)
64 return (" { if (typeof(Page_ClientValidate) != 'function' || Page_ClientValidate()) " +
65 control
.Page
.GetPostBackEventReference(control
) +
70 internal static string GetScriptLocation(HttpContext context
)
72 IDictionary dict
= context
.GetConfig("system.web/webControls")
77 loc
= dict
["clientScriptsLocation"] as string;
81 throw new HttpException("Missing_clientScriptsLocation");
83 if(loc
.IndexOf("{0}") > 0)
85 //FIXME: Version Number of the ASP.Net should come into play.
86 //Like if ASP 1.0 and 1.1 both are installed, the script
87 // locations are in /aspnet_client/system_web/1_0_3705_0/
88 // and /aspnet_client/system_web/1_1_4322/
89 // (these entries are from my machine
90 // So, first I should get this Version Info from somewhere
91 loc
= String
.Format(loc
, "system_web");