【问题标题】:Why can't have control with ID "Server"为什么无法使用 ID“服务器”进行控制
【发布时间】:2013-08-28 08:40:28
【问题描述】:

我的页面中有这一行:

<asp:TextBox runat="server" ID="Server" />

我收到以下错误:

编译器错误消息:CS1061:“System.Web.UI.WebControls.TextBox”不包含“ScriptTimeout”的定义,并且没有扩展方法“ScriptTimeout”接受“System.Web.UI.WebControls”类型的第一个参数.TextBox' 可以找到(您是否缺少 using 指令或程序集引用?)

来源错误:

Line 172:                global::ASP.applications_returndata_releasemanagement_aspx.@__initialized = true;
Line 173:            }
Line 174:            this.Server.ScriptTimeout = 30000000;
Line 175:        }
Line 176:

把ID改成别的就好了。

有谁知道为什么不能使用“服务器”作为控制 ID?我搜索了一下,找不到任何关于 asp.net 控件的保留字的信息。

【问题讨论】:

  • 因为Server是页面的属性

标签: asp.net


【解决方案1】:

这是因为System.Web.UI.Page 已经有一个名为Server 的字段(您可以在导航到System.Web.UI.Page 的类定义时看到它)。

【讨论】:

    【解决方案2】:

    Server 是任何 ASP.Net 页面的基类中的许多预定义属性之一 - 此列表还包括 ResponseRequest 等。

    通过调用您自己的控件Server,您将覆盖默认属性并呈现毫无意义的某些 .Net 调用,包括在本例中为Server.ScriptTimeout

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多