runat="server" :运行在服务器端。
既然有了runat="server"别再加action了,两个的提交方式都不一样,action将form数据给
testaspx页面,而runat="server"直接回交服务器,处理数据,又以数据加密后的hidden属性的input
件插入回去实现表单的状态保存,如果testaspx是另一个页面,在进一步说就是你可以在页面的cs文件中直接使用,与在客户端运行相对的;
比如java脚本,是浏览器解析的,对于有此语句的控件,转换成对应的HtmlControl子类加入到页面的控件集合,对于没有此语句的,直接写入html中。
扩展资料
HTML 服务器控件 (HTML server control)
属于 SystemWebUIHtmlControls 命名空间的 ASPNET 服务器控件。HTML 服务器控件直接映射到 HTML 元素,并在 ASPNET 页中声明为一个由 runat="server" 属性标记的 HTML 元素;
例如 <button runat="server" />。与 Web 服务器控件相比,HTML 服务器控件没有 asp 标记前缀。
WEB服务器控件是HTML控件的一种扩展,区别是:
1、前者可以触发服务器控件特有的事件,后者只能通过回递的方式触发服务器上的页面级事件。
2、输入到前者中的数据在请求之间可以维护(即具有状态管理功能),而后者无法自动维护数据,只能使用页面级的脚本来保存和恢复。
3、前者可以自动检测浏览器并调整到恰当的显示,而后者没有自动适应功能,必须在代码中手动检测浏览器。
4、每个服务器控件都具有一组属性,可以在服务器端的代码中更改控件的外观和行为,而后者只有HTML属性。
如果某些控件不需要服务器端的事件或状态管理功能时,可以选择HTML控件,这样可以提高应用程序的性能。
两者都是可以的,区别在于get是从服务器拿数据,post是向服务器送数据。get不安全,由于参数会放在url中,大家能够看到,且数据量不能大于2kb(有限制)。
post是通过>
可以用Get方式实现;
方法:通过拼接url在url后添加相应的数据,如:>
缺点:通过Get方式提交数据只能发送2K以内的数据,适合发送容量较小的数据,另外,如果发送的数据是中文,则需要对url和服务器端做相应的乱码处理(设置能显示中文的编码方式),否则会产生乱码问题。
处理方式如下:
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)