在网络表单中,我有一个文本框(使用<asp:TextBox
)使用&#34;标题&#34;作为其ID。编译时没有错误,但浏览器会返回错误说:
BC30311: Value of type 'String' cannot be converted to 'System.Web.UI.WebControls.TextBox'
然后我发现Page
对象也有Title
属性。使用其他名称更改文本框ID后,错误消失。使用HTML <input type="textbox" id="Title" runat="server"
也会导致错误。
这是正常的吗?&#34; Title&#34;不能用作对照的ID?
答案 0 :(得分:3)
具有ID
的服务器端控件会导致在部分设计器类中生成具有该名称的成员。这将隐藏名为Title
的现有成员。
如果你这样做会很好,但是在this.Title
后面的代码中会引用控件,而不是成员。
因此,显示问题中错误的代码必须类似this.Title = "Hello, World!"
,尝试将字符串分配给TextBox。