我有一个jQuery日期选择器,我想限制非工作日-周末、公共假日等。我已经看到了如何从客户端(javascript)实现这一点的示例,但有办法从服务器端ASP.NET代码限制日期吗?
我想你可以使用Page.RegisterClientScriptBlock,但我想知道有没有更整洁的方法?
JQuery的东西都是客户端的,所以没有服务器端可言。我的建议是创建一些瘦的服务器端包装器,自动完成相当于编写RegisterClientScriptBlock的工作。这样一来,您只需要摆弄一次Javascript,而且它总是有效的。
您只需在验证发布的数据时使用与客户端相同的逻辑即可。您应该始终在服务器端验证数据,客户端的任何东西都不可信,即使您有"验证代码",并且认为需要javascript才能工作。
在客户端进行验证应该是次要的,只是为了提供良好的用户体验。任何客户端代码都没有安全性。(如果你不相信我的话,请安装firebug和/或firefox的"篡改数据"扩展)。
只有两种方法可以限制日期:
-
使用Javascript的客户端
这可以通过在服务器端生成或不生成javascript来完成,但最终总是使用javascript -
服务器端
您必须使用您喜爱的.net语言(c#或vb.net)比较Web控件或输入中的日期
为了获得更好的用户体验,您应该在客户端进行限制,但如果您想确保数据有效,则必须在服务器端进行检查。