【发布时间】:2008-10-22 02:31:23
【问题描述】:
我有一个 jQuery 日期选择器,我想限制非工作日 - 周末、公共假期等。我已经看到了有关如何从客户端 (javascript) 执行此操作的示例,但是有没有办法限制从服务器端 ASP.NET 代码?
我认为您可以使用 Page.RegisterClientScriptBlock,但想知道有没有更简洁的方法?
【问题讨论】:
我有一个 jQuery 日期选择器,我想限制非工作日 - 周末、公共假期等。我已经看到了有关如何从客户端 (javascript) 执行此操作的示例,但是有没有办法限制从服务器端 ASP.NET 代码?
我认为您可以使用 Page.RegisterClientScriptBlock,但想知道有没有更简洁的方法?
【问题讨论】:
JQuery 的东西都是客户端,所以没有服务器端可言。我的建议是创建一些瘦服务器端包装器,它们会自动执行相当于编写 RegisterClientScriptBlock 的操作。这样,您只需要摆弄 Javascript 一次,它就可以正常工作。
【讨论】:
您只需在验证发布的数据时执行此操作,使用与客户端相同的逻辑。您应该始终在服务器端验证数据,即使您在那里有“验证代码”并且认为您需要启用 javascript 才能使其工作,客户端的任何内容都不能被信任。
在客户端进行验证应该是次要的,只是为了提供良好的用户体验。任何客户端代码都没有安全性。 (如果您不相信我,请安装 firebug 和/或 firefox 的“篡改数据”扩展)。
【讨论】:
限制日期只有两种方式:
使用 Javascript 的客户端
这可以通过在服务器端生成或不在服务器端生成的 javascript 来完成,但您最终将始终使用 javascript
服务器端
您必须使用您最喜爱的.net 语言(c# 或 vb.net)比较 web 控件或输入中的日期
为了获得更好的 UX 体验,您应该在客户端进行限制,但如果您想确保数据有效,则必须在服务器端进行检查。
【讨论】: