1 public static string GetControlValueFromRequest(string controlId)
2 {
3 if (controlId == null)
4 throw new ArgumentNullException("controlId");
5 string requestValue = null;
6 HttpRequest req = HttpContext.Current.Request;
7 string eventTarget = req.Form["__EVENTTARGET"] ?? string.Empty;
8 if (eventTarget.Equals(controlId, StringComparison.InvariantCultureIgnoreCase))
9 {
10 requestValue = req.Form["__EVENTARGUMENT"];
11 }
12 if (string.IsNullOrEmpty(requestValue))
13 {
14 foreach (string id in req.Form.AllKeys)
15 {
16 if (controlId.Equals(GetFriendlyControlId(id), StringComparison.InvariantCultureIgnoreCase))
17 {
18 requestValue = req[id];
19 break;
20 }
21 }
22 }
23 return requestValue;
24 }
25
26 public static string GetFriendlyControlId(string renderedControlId)
27 {
28 int indexOfSeparator = renderedControlId.LastIndexOf(GetPageIdSeparator());
29 if (indexOfSeparator >= 0)
30 {
31 renderedControlId = renderedControlId.Substring(indexOfSeparator + 1);
32 }
33 return renderedControlId;
34 }
35
36 private static string GetPageIdSeparator()
37 {
38 Page page = HttpContext.Current.CurrentHandler as Page;
39 return page == null ? "$" : page.IdSeparator.ToString();
40 }
41
2 {
3 if (controlId == null)
4 throw new ArgumentNullException("controlId");
5 string requestValue = null;
6 HttpRequest req = HttpContext.Current.Request;
7 string eventTarget = req.Form["__EVENTTARGET"] ?? string.Empty;
8 if (eventTarget.Equals(controlId, StringComparison.InvariantCultureIgnoreCase))
9 {
10 requestValue = req.Form["__EVENTARGUMENT"];
11 }
12 if (string.IsNullOrEmpty(requestValue))
13 {
14 foreach (string id in req.Form.AllKeys)
15 {
16 if (controlId.Equals(GetFriendlyControlId(id), StringComparison.InvariantCultureIgnoreCase))
17 {
18 requestValue = req[id];
19 break;
20 }
21 }
22 }
23 return requestValue;
24 }
25
26 public static string GetFriendlyControlId(string renderedControlId)
27 {
28 int indexOfSeparator = renderedControlId.LastIndexOf(GetPageIdSeparator());
29 if (indexOfSeparator >= 0)
30 {
31 renderedControlId = renderedControlId.Substring(indexOfSeparator + 1);
32 }
33 return renderedControlId;
34 }
35
36 private static string GetPageIdSeparator()
37 {
38 Page page = HttpContext.Current.CurrentHandler as Page;
39 return page == null ? "$" : page.IdSeparator.ToString();
40 }
41