我在a.aspx页面都用的<input ....>这样的HTML控件问题
我认为有2种方式提交表单,用一个服务器控件的<BUTTON...>,之后再CLICK事件中添加代码提交问题1:我用URL方式,把控件当作参数传递,这样的方式安全嘛问题2:我用server.transfer方式,另外一个页面b.aspx可以收到a.aspx中的FORM表单中的值吗?问题3:比如TextBox控件,我用HTML控件,与用服务器控件,一样嘛?问题4:提交时候不用服务器控件的《BUTTON》,而是用SUBMIT,是怎么提交FORM的?,,,和用服务器控件的CLICK事件哪个好问题有点长,,,希望大哥大姐们不吝赐教,,,小弟拜谢
我认为有2种方式提交表单,用一个服务器控件的<BUTTON...>,之后再CLICK事件中添加代码提交问题1:我用URL方式,把控件当作参数传递,这样的方式安全嘛问题2:我用server.transfer方式,另外一个页面b.aspx可以收到a.aspx中的FORM表单中的值吗?问题3:比如TextBox控件,我用HTML控件,与用服务器控件,一样嘛?问题4:提交时候不用服务器控件的《BUTTON》,而是用SUBMIT,是怎么提交FORM的?,,,和用服务器控件的CLICK事件哪个好问题有点长,,,希望大哥大姐们不吝赐教,,,小弟拜谢
用post 会比用 get 安全。而且用get方法对大小有限制问题2:我用server.transfer方式,另外一个页面b.aspx可以收到a.aspx中的FORM表单中的值吗?
可以,不过页面地址不会变化。问题3:比如TextBox控件,我用HTML控件,与用服务器控件,一样嘛?
在客户端来看都是一样的,只不过服务器控件封装了一些服务器端的事件,属性和视图。问题4:提交时候不用服务器控件的《BUTTON》,而是用SUBMIT,是怎么提交FORM的?,,,和用服务器控件的CLICK事件哪个好
提交表单可以 用 <input type="submit" ... /> <input type="image" ... /> 来自动提交
亦可以用 <input type="button" onclick="document.getElementById('form1').submit();" ../>来手动提交
。net里面也可以用自带的__doPostBack来提交表单。
可以把参数据用Server.UrlEncode加密,然后用Server.UrlDecode解密,应该是安全的问题2:
可以
问题3:
runat=server就是表示要在服务器端运行,增加了服务器的负担,一个人用无所谓,人流量大的时候会有点影响。
而一般的html控件是在客户端的,减轻了服务器的负担。
对于问题2好像一般需要通过PreviousPage来读取表单值
对于问题3HTML元素在runat=server后就可以通过ID在后台代码中访问
没问题。
这种方法更好的体现了面向对象的思想。
不过地址栏中显示的地址还是a.aspx