什么时候是';t runat=";服务器";在asp.net中使用?

什么时候是';t runat=";服务器";在asp.net中使用?,asp.net,runatserver,Asp.net,Runatserver,您什么时候不需要在ASP.NET中使用runat=“server” 编辑:感谢所有的答案,但我真的在想中的runat=“server”,因为您不希望服务器端ASP.NET针对我们呈现服务器端变量 一般来说,当您不需要在服务器端操作DOM元素(例如,仅用于布局目的)时,您不需要使用它。当您使用ASP.NET控件时,请使用runat=server属性,和/或您需要对代码中的这些控件进行编程访问 HTML控件不需要此属性。如果您有任何HTML元素,如,或,当您希望能够在代码隐藏中访问它们时,它非常有用

您什么时候不需要在ASP.NET中使用
runat=“server”


编辑:感谢所有的答案,但我真的在想
中的
runat=“server”
,因为您不希望服务器端ASP.NET针对我们呈现服务器端变量


一般来说,当您不需要在服务器端操作DOM元素(例如,仅用于布局目的)时,您不需要使用它。

当您使用ASP.NET控件时,请使用
runat=server
属性,和/或您需要对代码中的这些控件进行编程访问

HTML控件不需要此属性。如果您有任何HTML元素,如
,或
,当您希望能够在代码隐藏中访问它们时,它非常有用

<asp:Label runat="server" id="foo" />
<div runat="server" id="bar />
...
foo.Text = "Hello Label";
foo.Attributes["class"] = "baz";


您需要在任何要解析为服务器控件的控件上使用
runat=“server”

任何带有
runat=“server”
的元素都将被解析为页面herarch中的服务器控件。其他任何内容都将作为纯文本处理,并放入页面层次结构中的
LiteralControl
控件中

例外情况是元素不是真实的元素,而是另一个服务器标记中的特殊标记,例如
ContentTemplate
标记。它们不需要
runat=“server”
,因为包含它们的控件将解析它们。

没有runat=“server”,也就没有其他方法来创建html控件服务器端控件。这看起来确实很奇怪,因为你不能运行runat=“client”

总之,你不能把它放在任何ASP.Net控件上,对于创建ASP.Net Web表单的开发人员来说,这可能是找到所有服务器端控件的最简单、最干净的方法


来源:

Tag runat=“server”表示脚本块中包含的代码将在服务器上运行(而不是在客户端上)。在执行时,ASP.NET将创建包含此代码的服务器端对象以及Page类的实例,以包含页面内定义为其给定类型实例的控件(例如System.Web.UI.WebControl.Textbox)。此服务器端对象将在用户请求时调用,并将执行代码以响应事件。

在运行时创建控件

我在运行时需要一个标签,时间不需要runat=“Server”不是必需的

范例

protected void Page_Load(object sender, EventArgs e)
{
    if (!IsPostBack)
   {
    Label  lblNew = new Label();
    lblNew.ID ="lblnew";
    lblNew.Text ="Test";
    }
}

此代码在页面加载事件运行时创建标签

当asp.net中未使用runat=“server”时,qus是什么?而不是在asp.netHmm中何时使用runat=“server”。。。不明白你在说什么-可能是语言问题,尽管我不是英语母语人士:-)请尝试澄清。