我经历了this帖子但是听不懂。我是非常新的ASP / HTML /服务器端编程。
我尝试在.aspx文件上运行此代码:
<form id="form1" action="Default.aspx">
<div>
<asp:Label ID="lblName"></asp:Label>
</div>
</form>
当我尝试在CodeFile中使用它时出错:
protected void Page_Load(object sender, EventArgs e)
{
lblName.Text = "123";
}
“lblName不存在”。
但是如果我使用带标签的runat =“server”属性,则此代码可以正常工作。
此外,是否有任何嵌套runat属性的概念。例如,如果我为上面的表单指定runat = server,表单中的所有控件是否会自动配置为在服务器上运行?该属性如何工作?
在哪种情况下我需要为标签指定runat = server?如果我在服务器端没有表单对象,服务器端如何知道标签在表单内?或者我错过了什么?
答案 0 :(得分:2)
标有runat="server"
的任何元素都让框架知道这将是服务器端的控件。本文有更多详细信息:
答案 1 :(得分:1)
不,ASP.NET中没有这样的嵌套,您必须为要在后面的代码中使用的每个控件指定“runat”,这是ASP.NET Web库的一部分。
因为ASP.NET只能在“runat”的帮助下识别客户端标记(在浏览器上运行的html)和服务器端标记之间的区别