我听说过有关ASP.NET和JavaScript的不同故事:它在Javascript关闭时工作正常,只有部分部分不起作用,而且根本没有任何作用。
如果在客户端的浏览器中关闭JavaScript,ASP.NET应用程序究竟会受到什么影响?哪些部分不起作用(如果有的话)?
例如,RequiredFieldValidators仍然有用吗?那么UploadControls呢? AJAX UpdatePanels和AsyncPostBack的?文件上传?页面代码隐藏仍在运行吗?
原谅我的无知,我似乎无法深入了解这个深入的问题。
答案 0 :(得分:5)
客户端验证和Ajax不起作用,包括异步回发和任何需要Javascript才能工作的控件。
服务器端验证(应始终应该发生)和完整的回发等应该始终有效,我认为FileUpload控件也是如此。最大的区别在于,有人不会看到他们输入的数据在提交表单时无效。
答案 1 :(得分:2)
LinkButtons不起作用,因为它们会渲染出一个javascript:target。
如果你使用带有ButtonColumns的GridView控件,那么这些都不会起作用,因为按钮也是javascript。解决此问题的一种方法是使用TemplateColumn并添加< asp:Button>里面的物品。
GridView分页和排序也是开箱即用的JavaScript,所以你必须编写自定义分页和排序。
AutoPostback设置为true的任何控件(例如DropdownList)也不会自动回发。您将能够捕获SelectedIndexChanged但仅在下一次回发时才会捕获。
答案 2 :(得分:0)
任何在没有完整页面请求返回服务器的情况下在客户端执行“操作”的控件(即整个页面重新加载)都是通过JavaScript完成的,并且无法在关闭JavaScript的情况下使用。
记住HTML是静态的,因此除了CSS悬停效果之外,浏览器窗口中“更改”的任何内容或者在没有完整页面重新加载的情况下回调服务器的任何内容都是通过JavaScript完成的,并且您不能指望它可以使用在客户端上禁用了JavaScript。