runat="server" 是什么意思?
<form runat="server" id="form1" method="post" action="test.aspx">
<div>
<input id="Text1" type="text" name="name1"/>
<input id="Submit1" type="submit" value="submit" />
<input id="Reset1" type="reset" value="reset" /></div>
</form>
</body>
以上代码点击按钮的时候不能转到test.aspx页面,删除runat="server"后就可以正常转到test.aspx页,而且能够正常显示,为什么啊?
既然说毫无意义,删除和不删除效果确不一样啊! 展开
runat="server" :运行在服务器端。
既然有了runat="server"别再加action了,两个的提交方式都不一样,action将form数据给
test.aspx页面,而runat="server"直接回交服务器,处理数据,又以数据加密后的hidden属性的input
件插入回去实现表单的状态保存,如果test.aspx是另一个页面,在进一步说就是你可以在页面的.cs文件中直接使用,与在客户端运行相对的;
比如java脚本,是浏览器解析的,对于有此语句的控件,转换成对应的HtmlControl子类加入到页面的控件集合,对于没有此语句的,直接写入html中。
扩展资料
HTML 服务器控件 (HTML server control)
属于 System.Web.UI.HtmlControls 命名空间的 ASP.NET 服务器控件。HTML 服务器控件直接映射到 HTML 元素,并在 ASP.NET 页中声明为一个由 runat="server" 属性标记的 HTML 元素;
例如 <button runat="server" />。与 Web 服务器控件相比,HTML 服务器控件没有 asp 标记前缀。
WEB服务器控件是HTML控件的一种扩展,区别是:
1、前者可以触发服务器控件特有的事件,后者只能通过回递的方式触发服务器上的页面级事件。
2、输入到前者中的数据在请求之间可以维护(即具有状态管理功能),而后者无法自动维护数据,只能使用页面级的脚本来保存和恢复。
3、前者可以自动检测浏览器并调整到恰当的显示,而后者没有自动适应功能,必须在代码中手动检测浏览器。
4、每个服务器控件都具有一组属性,可以在服务器端的代码中更改控件的外观和行为,而后者只有HTML属性。
如果某些控件不需要服务器端的事件或状态管理功能时,可以选择HTML控件,这样可以提高应用程序的性能。
2023-08-29 广告
html控件也可以加这个属性,但是使用起来比较麻烦,需要加入隐藏按钮,通过JS触发 onserverclick()事件来跟服务器端进行数据交互。
input 属于html控件,可以不加这个属性
就你这段代码而言,form里加runat=server毫无意义