[asp.net] Fix for bug #685267. ClientScriptManager generates correct post-back event...
[mono.git] / mcs / class / System.Web / System.Web.UI / PageParser.cs
index d7057ad5f58770663fecde2e7f96d85bce2e718e..f5f4899f05924e40be2e4c53782416000689666a 100644 (file)
@@ -404,9 +404,12 @@ namespace System.Web.UI
                        value = GetString (atts, "MasterPageFile", masterPage != null ? masterPage.Value : null);
                        if (!String.IsNullOrEmpty (value)) {
                                if (!BaseParser.IsExpression (value)) {
-                                       if (!HostingEnvironment.VirtualPathProvider.FileExists (value))
+                                       value = System.Web.VirtualPathUtility.Combine(BaseVirtualDir, value);
+                                       var vpp = HostingEnvironment.VirtualPathProvider;
+                                       if (!vpp.FileExists (value))
                                                ThrowParseFileNotFound (value);
-                                       AddDependency (value);
+                                       value = vpp.CombineVirtualPaths (VirtualPath.Absolute, VirtualPathUtility.ToAbsolute (value));
+                                       AddDependency (value, false);
                                        masterPage = new MainDirectiveAttribute <string> (value, true);
                                } else
                                        masterPage = new MainDirectiveAttribute <string> (value);
@@ -432,7 +435,7 @@ namespace System.Web.UI
                        enable_event_validation = GetBool (atts, "EnableEventValidation", enable_event_validation);
                        maintainScrollPositionOnPostBack = GetBool (atts, "MaintainScrollPositionOnPostBack", maintainScrollPositionOnPostBack);
 
-                       if (atts.Contains ("EnableViewState")) {
+                       if (atts.Contains ("EnableViewStateMac")) {
                                enableViewStateMac = GetBool (atts, "EnableViewStateMac", enableViewStateMac);
                                enableViewStateMacSet = true;
                        }
@@ -492,7 +495,7 @@ namespace System.Web.UI
                                        if (!HostingEnvironment.VirtualPathProvider.FileExists (virtualPath))
                                                ThrowParseFileNotFound (virtualPath);
 
-                                       AddDependency (virtualPath);
+                                       AddDependency (virtualPath, true);
                                        if (isMasterType)
                                                masterVirtualPath = virtualPath;
                                        else