asp代码如下:
<%@ Page Language="C#" MasterPageFile="~/DefaultMaster.master" AutoEventWireup="true" EnableEventValidation="false" CodeFile="Login.aspx.cs" Inherits="Login" Title="Untitled Page" %> |
<asp:Content ID="Content1" ContentPlaceHolderID="mainContentPlaceholder" runat="Server"> |
<asp:Login ID="LoginMain" runat="server" CreateUserText="<%$ Resources:GResource, CreateUser %>" CreateUserUrl="User/CreateUser.aspx" LoginButtonImageUrl="Images/Login.gif" OnLoggedIn="LoginMain_LoggedIn" PasswordRecoveryText="<%$ Resources:GResource, ForgottenPassword %>" PasswordRecoveryUrl="User/EMailForgottenPassword.aspx" RememberMeSet="True"> |
</asp:Login> |
</asp:Content> |
错误代码如下:
“/”应用程序中的服务器错误。 |
-------------------------------------------------------------------------------- |
编译错误 |
说明: 在编译向该请求提供服务所需资源的过程中出现错误。请检查下列特定错误详细信息并适当地修改源代码。 |
编译器错误信息: CS0030: Cannot convert type 'ASP.login_aspx' to 'System.Web.UI.WebControls.Login' |
源错误: |
行 118: public login_aspx() { |
行 119: string[] dependencies; |
行 120: ((Login)(this)).AppRelativeVirtualPath = "~/Login.aspx"; |
行 121: if ((global::ASP.login_aspx.@__initialized == false)) { |
行 122: dependencies = new string[5]; |
源文件: c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\root\188f28c7\60ce8620\App_Web_login.aspx.cdcab7d2.mnld6pv-.0.cs 行: 120 |
编译器警告消息: |
警告: CS0108: 'ASP.login_aspx.Profile' hides inherited member 'Login.Profile'. Use the new keyword if hiding was intended. |
源错误: |
c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\root\188f28c7\60ce8620\App_Web_login.aspx.cdcab7d2.mnld6pv-.0.cs |
行 132: } |
行 133: |
行 134: protected System.Web.Profile.DefaultProfile Profile { |
行 135: get { |
行 136: return ((System.Web.Profile.DefaultProfile)(this.Context.Profile)); |
警告: CS0108: 'ASP.login_aspx.ApplicationInstance' hides inherited member 'Login.ApplicationInstance'. Use the new keyword if hiding was intended. |
源错误: |
c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\root\188f28c7\60ce8620\App_Web_login.aspx.cdcab7d2.mnld6pv-.0.cs |
行 138: } |
行 139: |
行 140: protected System.Web.HttpApplication ApplicationInstance { |
行 141: get { |
行 142: return ((System.Web.HttpApplication)(this.Context.ApplicationInstance)); |
显示详细的编译器输出: |
c:\windows\system32\inetsrv> "C:\Program Files\LINQ Preview\Bin\csc.exe" /noconfig /fullpaths @"C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\root\188f28c7\60ce8620\wa1twmhp.cmdline" |
Microsoft (R) Visual C# 2005 Compiler version 8.00.50916 |
for Microsoft (R) Windows (R) 2005 Framework version 2.0.50727 |
Copyright (C) Microsoft Corporation 2001-2005. All rights reserved. |
c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\root\188f28c7\60ce8620\App_Web_login.aspx.cdcab7d2.mnld6pv-.0.cs(134,53): warning CS0108: 'ASP.login_aspx.Profile' hides inherited member 'Login.Profile'. Use the new keyword if hiding was intended. |
c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\root\188f28c7\60ce8620\assembly\dl3\84cfb6d2\306c3f3e_cfe1c601\WITWeb_Deploy.DLL: (Location of symbol related to previous warning) |
c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\root\188f28c7\60ce8620\App_Web_login.aspx.cdcab7d2.mnld6pv-.0.cs(140,46): warning CS0108: 'ASP.login_aspx.ApplicationInstance' hides inherited member 'Login.ApplicationInstance'. Use the new keyword if hiding was intended. |
c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\root\188f28c7\60ce8620\assembly\dl3\84cfb6d2\306c3f3e_cfe1c601\WITWeb_Deploy.DLL: (Location of symbol related to previous warning) |
c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\root\188f28c7\60ce8620\App_Web_login.aspx.cdcab7d2.mnld6pv-.0.cs(120,14): error CS0030: Cannot convert type 'ASP.login_aspx' to 'System.Web.UI.WebControls.Login' |
显示完整的编译源: |
行 1: #pragma checksum "C:\WIT\WITWeb\Login.aspx" "{406ea660-64cf-4c82-b6f0-42d48172a799}" "B44F354557695C8AD78BB899D68B71B5" |
行 2: //------------------------------------------------------------------------------ |
行 3: // <auto-generated> |
行 4: // This code was generated by a tool. |
行 5: // Runtime Version:2.0.50727.42 |
行 6: // |
行 7: // Changes to this file may cause incorrect behavior and will be lost if |
行 8: // the code is regenerated. |
行 9: // </auto-generated> |
行 10: //------------------------------------------------------------------------------ |
行 11: |
行 12: namespace ASP { |
行 13: |
行 14: #line 319 "C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Config\web.config" |
行 15: using System.Web.Security; |
行 16: |
行 17: #line default |
行 18: #line hidden |
行 19: |
行 20: #line 316 "C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Config\web.config" |
行 21: using System.Web; |
行 22: |
行 23: #line default |
行 24: #line hidden |
行 25: |
行 26: #line 318 "C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Config\web.config" |
行 27: using System.Web.SessionState; |
行 28: |
行 29: #line default |
行 30: #line hidden |
行 31: |
行 32: #line 314 "C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Config\web.config" |
行 33: using System.Text; |
行 34: |
行 35: #line default |
行 36: #line hidden |
行 37: |
行 38: #line 3 "C:\WIT\WITWeb\Login.aspx" |
行 39: using System.Web.UI.WebControls; |
行 40: |
行 41: #line default |
行 42: #line hidden |
行 43: |
行 44: #line 320 "C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Config\web.config" |
行 45: using System.Web.Profile; |
行 46: |
行 47: #line default |
行 48: #line hidden |
行 49: |
行 50: #line 311 "C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Config\web.config" |
行 51: using System.Collections; |
行 52: |
行 53: #line default |
行 54: #line hidden |
行 55: |
行 56: #line 3 "C:\WIT\WITWeb\Login.aspx" |
行 57: using System.Web.UI.WebControls.WebParts; |
行 58: |
行 59: #line default |
行 60: #line hidden |
行 61: |
行 62: #line 313 "C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Config\web.config" |
行 63: using System.Configuration; |
行 64: |
行 65: #line default |
行 66: #line hidden |
行 67: |
行 68: #line 310 "C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Config\web.config" |
行 69: using System; |
行 70: |
行 71: #line default |
行 72: #line hidden |
行 73: |
行 74: #line 1 "C:\WIT\WITWeb\Login.aspx" |
行 75: using ASP; |
行 76: |
行 77: #line default |
行 78: #line hidden |
行 79: |
行 80: #line 317 "C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Config\web.config" |
行 81: using System.Web.Caching; |
行 82: |
行 83: #line default |
行 84: #line hidden |
行 85: |
行 86: #line 321 "C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Config\web.config" |
行 87: using System.Web.UI; |
行 88: |
行 89: #line default |
行 90: #line hidden |
行 91: |
行 92: #line 312 "C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Config\web.config" |
行 93: using System.Collections.Specialized; |
行 94: |
行 95: #line default |
行 96: #line hidden |
行 97: |
行 98: #line 315 "C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Config\web.config" |
行 99: using System.Text.RegularExpressions; |
行 100: |
行 101: #line default |
行 102: #line hidden |
行 103: |
行 104: #line 324 "C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Config\web.config" |
行 105: using System.Web.UI.HtmlControls; |
行 106: |
行 107: #line default |
行 108: #line hidden |
行 109: |
行 110: |
行 111: [System.Runtime.CompilerServices.CompilerGlobalScopeAttribute()] |
行 112: public class login_aspx : global::Login, System.Web.SessionState.IRequiresSessionState, System.Web.IHttpHandler { |
行 113: |
行 114: private static bool @__initialized; |
行 115: |
行 116: private static object @__fileDependencies; |
行 117: |
行 118: public login_aspx() { |
行 119: string[] dependencies; |
行 120: ((Login)(this)).AppRelativeVirtualPath = "~/Login.aspx"; |
行 121: if ((global::ASP.login_aspx.@__initialized == false)) { |
行 122: dependencies = new string[5]; |
行 123: dependencies[0] = "~/Login.aspx"; |
行 124: dependencies[1] = "~/DefaultMaster.master"; |
行 125: dependencies[2] = "~/UserControls/CollapsibleContent.ascx"; |
行 126: dependencies[3] = "~/UserControls/HtmlEditorWrapper.ascx"; |
行 127: dependencies[4] = "~/UserControls/ProjectAreaTextBox.ascx"; |
行 128: global::ASP.login_aspx.@__fileDependencies = this.GetWrappedFileDependencies(dependencies); |
行 129: global::ASP.login_aspx.@__initialized = true; |
行 130: } |
行 131: this.Server.ScriptTimeout = 30000000; |
行 132: } |
行 133: |
行 134: protected System.Web.Profile.DefaultProfile Profile { |
行 135: get { |
行 136: return ((System.Web.Profile.DefaultProfile)(this.Context.Profile)); |
行 137: } |
行 138: } |
行 139: |
行 140: protected System.Web.HttpApplication ApplicationInstance { |
行 141: get { |
行 142: return ((System.Web.HttpApplication)(this.Context.ApplicationInstance)); |
行 143: } |
行 144: } |
行 145: |
行 146: private global::System.Web.UI.WebControls.Login @__BuildControlLoginMain() { |
行 147: global::System.Web.UI.WebControls.Login @__ctrl; |
行 148: |
行 149: #line 6 "C:\WIT\WITWeb\Login.aspx" |
行 150: @__ctrl = new global::System.Web.UI.WebControls.Login(); |
行 151: |
行 152: #line default |
行 153: #line hidden |
行 154: this.LoginMain = @__ctrl; |
行 155: @__ctrl.TemplateControl = this; |
行 156: @__ctrl.ApplyStyleSheetSkin(this); |
行 157: |
行 158: #line 6 "C:\WIT\WITWeb\Login.aspx" |
行 159: @__ctrl.ID = "LoginMain"; |
行 160: |
行 161: #line default |
行 162: #line hidden |
行 163: |
行 164: #line 6 "C:\WIT\WITWeb\Login.aspx" |
行 165: @__ctrl.CreateUserUrl = "User/CreateUser.aspx"; |
行 166: |
行 167: #line default |
行 168: #line hidden |
行 169: |
行 170: #line 6 "C:\WIT\WITWeb\Login.aspx" |
行 171: @__ctrl.LoginButtonImageUrl = "Images/Login.gif"; |
行 172: |
行 173: #line default |
行 174: #line hidden |
行 175: |
行 176: #line 6 "C:\WIT\WITWeb\Login.aspx" |
行 177: @__ctrl.PasswordRecoveryUrl = "User/EMailForgottenPassword.aspx"; |
行 178: |
行 179: #line default |
行 180: #line hidden |
行 181: |
行 182: #line 6 "C:\WIT\WITWeb\Login.aspx" |
行 183: @__ctrl.RememberMeSet = true; |
行 184: |
行 185: #line default |
行 186: #line hidden |
行 187: @__ctrl.CreateUserText = System.Convert.ToString(this.GetGlobalResourceObject("Resource", "CreateUser"), System.Globalization.CultureInfo.CurrentCulture); |
行 188: @__ctrl.PasswordRecoveryText = System.Convert.ToString(this.GetGlobalResourceObject("Resource", "ForgottenPassword"), System.Globalization.CultureInfo.CurrentCulture); |
行 189: |
行 190: #line 6 "C:\WIT\WITWeb\Login.aspx" |
行 191: @__ctrl.LoggedIn -= new System.EventHandler(this.LoginMain_LoggedIn); |
行 192: |
行 193: #line default |
行 194: #line hidden |
行 195: |
行 196: #line 6 "C:\WIT\WITWeb\Login.aspx" |
行 197: @__ctrl.LoggedIn += new System.EventHandler(this.LoginMain_LoggedIn); |
行 198: |
行 199: #line default |
行 200: #line hidden |
行 201: return @__ctrl; |
行 202: } |
行 203: |
行 204: private void @__BuildControlContent1(System.Web.UI.Control @__ctrl) { |
行 205: System.Web.UI.IParserAccessor @__parser = ((System.Web.UI.IParserAccessor)(@__ctrl)); |
行 206: |
行 207: #line 3 "C:\WIT\WITWeb\Login.aspx" |
行 208: @__parser.AddParsedSubObject(new System.Web.UI.LiteralControl("\r\n \r\n ")); |
行 209: |
行 210: #line default |
行 211: #line hidden |
行 212: global::System.Web.UI.WebControls.Login @__ctrl1; |
行 213: |
行 214: #line 3 "C:\WIT\WITWeb\Login.aspx" |
行 215: @__ctrl1 = this.@__BuildControlLoginMain(); |
行 216: |
行 217: #line default |
行 218: #line hidden |
行 219: |
行 220: #line 3 "C:\WIT\WITWeb\Login.aspx" |
行 221: @__parser.AddParsedSubObject(@__ctrl1); |
行 222: |
行 223: #line default |
行 224: #line hidden |
行 225: |
行 226: #line 3 "C:\WIT\WITWeb\Login.aspx" |
行 227: @__parser.AddParsedSubObject(new System.Web.UI.LiteralControl("\r\n")); |
行 228: |
行 229: #line default |
行 230: #line hidden |
行 231: } |
行 232: |
行 233: private void @__BuildControlTree(login_aspx @__ctrl) { |
行 234: |
行 235: #line 1 "C:\WIT\WITWeb\Login.aspx" |
行 236: @__ctrl.MasterPageFile = "~/DefaultMaster.master"; |
行 237: |
行 238: #line default |
行 239: #line hidden |
行 240: |
行 241: #line 1 "C:\WIT\WITWeb\Login.aspx" |
行 242: @__ctrl.EnableEventValidation = false; |
行 243: |
行 244: #line default |
行 245: #line hidden |
行 246: |
行 247: #line 1 "C:\WIT\WITWeb\Login.aspx" |
行 248: @__ctrl.Title = "Untitled Page"; |
行 249: |
行 250: #line default |
行 251: #line hidden |
行 252: |
行 253: #line 1 "C:\WIT\WITWeb\Login.aspx" |
行 254: this.InitializeCulture(); |
行 255: |
行 256: #line default |
行 257: #line hidden |
行 258: |
行 259: #line 3 "C:\WIT\WITWeb\Login.aspx" |
行 260: this.AddContentTemplate("mainContentPlaceholder", new System.Web.UI.CompiledTemplateBuilder(new System.Web.UI.BuildTemplateMethod(this.@__BuildControlContent1))); |
行 261: |
行 262: #line default |
行 263: #line hidden |
行 264: System.Web.UI.IParserAccessor @__parser = ((System.Web.UI.IParserAccessor)(@__ctrl)); |
行 265: |
行 266: #line 1 "C:\WIT\WITWeb\Login.aspx" |
行 267: @__parser.AddParsedSubObject(new System.Web.UI.LiteralControl("\r\n")); |
行 268: |
行 269: #line default |
行 270: #line hidden |
行 271: } |
行 272: |
行 273: protected override void FrameworkInitialize() { |
行 274: base.FrameworkInitialize(); |
行 275: this.@__BuildControlTree(this); |
行 276: this.AddWrappedFileDependencies(global::ASP.login_aspx.@__fileDependencies); |
行 277: } |
行 278: |
行 279: public override int GetTypeHashCode() { |
行 280: return 1734294563; |
行 281: } |
行 282: |
行 283: public override void ProcessRequest(System.Web.HttpContext context) { |
行 284: base.ProcessRequest(context); |
行 285: } |
行 286: } |
行 287: } |
行 288: |
-------------------------------------------------------------------------------- |
版本信息: Microsoft .NET Framework 版本:2.0.50727.42; ASP.NET 版本:2.0.50727.62 |
我在这里找到了答案 其原因就是Inherits="Login" asp:Login 中的标记控件与页面基类名称相同,当我们在开发时编译与预编译不同造成
解决方法一是更改页面基类名程, 二是为页面基类增加命名空间 我采用的是增加命名空间的解决方法代码如下:
<%@ Page Language="C#" MasterPageFile="~/DefaultMaster.master" AutoEventWireup="true" EnableEventValidation="false" CodeFile="Login.aspx.cs" Inherits="AIO.WITWeb.Login" Title="Untitled Page" %> |
<asp:Content ID="Content1" ContentPlaceHolderID="mainContentPlaceholder" runat="Server"> |
<asp:Login ID="LoginMain" runat="server" CreateUserText="<%$ Resources:GResource, CreateUser %>" CreateUserUrl="User/CreateUser.aspx" LoginButtonImageUrl="Images/Login.gif" OnLoggedIn="LoginMain_LoggedIn" PasswordRecoveryText="<%$ Resources:GResource, ForgottenPassword %>" PasswordRecoveryUrl="User/EMailForgottenPassword.aspx" RememberMeSet="True"> |
</asp:Login> |
</asp:Content> |
只改动了命名空间Inherits="AIO.WITWeb.Login" 当然需要修改cs文件略