首页 文章

关于ASP.NET中“runat”属性的问题?

提问于
浏览
2

我经历了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?如果我在服务器端没有表单对象,服务器端如何知道标签在表单内?或者我错过了什么?

2 回答

  • 2

    标有 runat="server" 的任何元素都允许框架知道这将是服务器端的控件 . 本文有更多详细信息:

  • 1

    不,ASP.NET中没有这样的嵌套,您必须为要在后面的代码中使用的每个控件指定“runat”,这是ASP.NET Web库的一部分 .

    因为ASP.NET只能识别客户端标记(在浏览器上运行的html)和服务器端标记之间的差异,并帮助“runat”

相关问题