asp.net:RUNAT =“服务器”和服务器对照之间差异
-
22-08-2019 - |
题
是什么
之间在功能上的差异<asp:Button id="button1" Text="Click me" runat="server" OnClick="submitEvent" />
和
<input type="button" id="button1" runat="server" value="Click me" />
是否与RUNAT =“server”属性的输入具有其它的或有限的属性和方法
谢谢!
解决方案
第一个,而第二个创建System.Web.UI.WebControls.Button
创建System.Web.UI.HtmlControls.HtmlInputButton
。
两者都是服务器的控制,但在WebControls
命名空间中的控制通常具有比在HtmlControls
命名空间中的控制的更多位的功能。通常,他们把一些数据ViewState
保持其状态的跟踪,他们有服务器端回发事件。
在HtmlControls
命名空间的每个控制精确地对应于一个HTML元素,而在WebControls
命名空间中的控制可以被呈现不同取决于什么正在请求页面可以支持浏览器。
其他提示
由<asp:Button runat="server".../>
表示的按钮将被转换为一个网络服务器控制与具有在像Button.Text现实世界=“点击我”。更明确表示的富状态模型和不同的属性和方法
由<input type="button" runat="server"..../>
表示的按钮将被转换为通过HtmlInputButton表示HTML服务器控制;用有限的属性,方法和事件。大部分属性类似于HTML当量等Button.Value =“点击我”。
请注意,在一个标记页元素是在使用前预处理/编译和将被转换为一个类表示,其中每个元件通过控制表示。您可以访问哪些由RUNAT =“服务器”从后面的代码标签识别的服务器端控件,因为他们会有正确的匹配服务器控件(网络/ HTML),其他静态内容包括了RUNAT =“服务器<input type="button.../>
标签“将被表示为一个LiteralControl。
前者线ASP.NET,后者简单的XHTML。
前者被解析并解释在服务器端,生成HTML代码,之后,这几乎对应于第二个例子。在ASP.NET按钮比光包装上个HTML输入按钮的功能更实在一点,应使用任何你需要处理在服务器端的Click
事件(或在一般情况下,任何事件),通常是这样的去,因为你让ASP.NET抽象你的页面上的一个按钮的主意,你。
两个控件的功能是相同的与第一个是.NET控制和第二个不同的是,可以通过使用由servercontrol HTML控制
RUNAT = “服务器”。
和第一个是富含evants和metods THN第二个....
有是有这样的控制关联的服务器事件,但你可以用它隐藏代码来改变它的属性。
您第二个选项将无法甚至可能工作。 RUNAT =“服务器”将被直接呈现给HTML输出在那里将没有功能,将只破坏HTML验证。
输入是仅具有HTML属性,绝对没有任何一种方法的HTML元素。