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

