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

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41
