为什么我会在服务器上运行 Html 控件?如,我为什么要这样做?
<p runat = "server">This is a paragraph.</p>
如果您想在代码隐藏中引用它。像这样:
<p id="myParagraph", runat="server"> ...
然后在代码隐藏中:
this.myParagraph.Visible = false;
我不是说你会设置Visible
属性,我只是用它作为例子。
现在,按照您现在<p>
标记的方式,您将无法对它做任何事情,因为它缺少id
.
您可能希望使用 HTML 控件而不是服务器控件的一个原因是强制呈现的 HTML 属于某个元素。
例如,GridView
默认情况下 a 将呈现为 HTML 表格,但您可能希望它呈现为 DIV 以用于无表格布局。
HTML 控件为您的 HTML 输出提供了更大的灵活性;这是人们喜欢 ASP.NET MVC 而不是 ASP.NET WebForms 的原因之一,因为您控制的更多最终结果,而不是 ASP.NET 引擎为您决定某些事情。
显然,权力带来责任,您将失去服务器控制的一些便利。
这允许您设置值并控制服务器端的所有属性
<p id="p" runat="server">Value<p>
代码背后:
p.Visible = true;
p.text = "NewValue";
p.attributes.add("style", "width:90px");