代码之家  ›  专栏  ›  技术社区  ›  Hari Menon

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

  •  2
  • Hari Menon  · 技术社区  · 14 年前

    我通过了 this 非常

    我尝试在.aspx文件上运行此代码:

    <form id="form1" action="Default.aspx">
        <div>
            <asp:Label ID="lblName"></asp:Label>
    
        </div>
    </form>
    

    当我试图在代码文件中使用它时,出现了一个错误:

    protected void Page_Load(object sender, EventArgs e)
        {
            lblName.Text = "123";
        }
    

    “lblName不存在”。

    但是如果我在标签中使用runat=“server”属性,那么这段代码就可以工作了。

    另外,是否有嵌套runat属性的概念。e、 g,如果我为上面的表单指定runat=server,那么表单中的所有控件是否会自动配置为在server上运行?这个属性是如何工作的?

    在哪种情况下,我需要为和标记指定runat=server?如果服务器端没有表单对象,服务器端如何知道标签在表单中?还是我遗漏了什么?

    2 回复  |  直到 7 年前
        1
  •  2
  •   ars    14 年前

    任何标有 runat="server" 让框架知道这将是服务器端的一个控件。本文提供了更多详细信息:

        2
  •  1
  •   Akash Kava    14 年前

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