Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/mono.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'mcs/class/System.Web/System.Web.UI/PageParser.cs')
-rw-r--r--mcs/class/System.Web/System.Web.UI/PageParser.cs51
1 files changed, 32 insertions, 19 deletions
diff --git a/mcs/class/System.Web/System.Web.UI/PageParser.cs b/mcs/class/System.Web/System.Web.UI/PageParser.cs
index ea4d1bc22c5..a128f91b372 100644
--- a/mcs/class/System.Web/System.Web.UI/PageParser.cs
+++ b/mcs/class/System.Web/System.Web.UI/PageParser.cs
@@ -43,13 +43,14 @@ namespace System.Web.UI
[AspNetHostingPermission (SecurityAction.LinkDemand, Level = AspNetHostingPermissionLevel.Minimal)]
public sealed class PageParser : TemplateControlParser
{
- PagesEnableSessionState enableSessionState = PagesEnableSessionState.True;
+ bool enableSessionState = true;
bool enableViewStateMac = true;
- bool smartNavigation;
+ bool smartNavigation = false;
bool haveTrace;
bool trace;
bool notBuffer;
TraceMode tracemode;
+ bool readonlySessionState;
string responseEncoding;
string contentType;
int codepage = -1;
@@ -111,7 +112,24 @@ namespace System.Web.UI
#endif
notBuffer = !ps.Buffer;
- enableSessionState = ps.EnableSessionState;
+#if NET_2_0
+ switch (ps.EnableSessionState) {
+ case PagesEnableSessionState.True:
+ case PagesEnableSessionState.ReadOnly:
+ enableSessionState = true;
+ break;
+
+ default:
+ enableSessionState = false;
+ break;
+ }
+#else
+ if (String.Compare (ps.EnableSessionState, "true", true, CultureInfo.InvariantCulture) == 0)
+ enableSessionState = true;
+ else
+ enableSessionState = false;
+#endif
+
enableViewStateMac = ps.EnableViewStateMac;
smartNavigation = ps.SmartNavigation;
validateRequest = ps.ValidateRequest;
@@ -147,23 +165,23 @@ namespace System.Web.UI
// note: the 'enableSessionState' configuration property is
// processed in a case-sensitive manner while the page-level
// attribute is processed case-insensitive
- string enabless = GetString (atts, "EnableSessionState", null);
+ string enabless = GetString (atts, "EnableSessionState", enableSessionState.ToString ());
if (enabless != null) {
- if (String.Compare (enabless, "readonly", true) == 0)
- enableSessionState = PagesEnableSessionState.ReadOnly;
- else if (String.Compare (enabless, "true", true) == 0)
- enableSessionState = PagesEnableSessionState.True;
- else if (String.Compare (enabless, "false", true) == 0)
- enableSessionState = PagesEnableSessionState.False;
- else
+ readonlySessionState = (String.Compare (enabless, "readonly", true) == 0);
+ if (readonlySessionState == true || String.Compare (enabless, "true", true) == 0) {
+ enableSessionState = true;
+ } else if (String.Compare (enabless, "false", true) == 0) {
+ enableSessionState = false;
+ } else {
ThrowParseException ("Invalid value for enableSessionState: " + enabless);
+ }
}
string cp = GetString (atts, "CodePage", null);
if (cp != null) {
if (responseEncoding != null)
ThrowParseException ("CodePage and ResponseEncoding are " +
- "mutually exclusive.");
+ "mutually exclusive.");
int codepage = 0;
try {
@@ -418,10 +436,7 @@ namespace System.Web.UI
}
internal bool EnableSessionState {
- get {
- return enableSessionState == PagesEnableSessionState.True ||
- ReadOnlySessionState;
- }
+ get { return enableSessionState; }
}
internal bool EnableViewStateMac {
@@ -433,9 +448,7 @@ namespace System.Web.UI
}
internal bool ReadOnlySessionState {
- get {
- return enableSessionState == PagesEnableSessionState.ReadOnly;
- }
+ get { return readonlySessionState; }
}
internal bool HaveTrace {