【问题标题】:jQuery datepicker - Restrict dates from server side (ASP.NET)jQuery datepicker - 从服务器端限制日期 (ASP.NET)
【发布时间】:2008-10-22 02:31:23
【问题描述】:

我有一个 jQuery 日期选择器,我想限制非工作日 - 周末、公共假期等。我已经看到了有关如何从客户端 (javascript) 执行此操作的示例,但是有没有办法限制从服务器端 ASP.NET 代码?

我认为您可以使用 Page.RegisterClientScriptBlock,但想知道有没有更简洁的方法?

【问题讨论】:

    标签: asp.net jquery datetime


    【解决方案1】:

    JQuery 的东西都是客户端,所以没有服务器端可言。我的建议是创建一些瘦服务器端包装器,它们会自动执行相当于编写 RegisterClientScriptBlock 的操作。这样,您只需要摆弄 Javascript 一次,它就可以正常工作。

    【讨论】:

      【解决方案2】:

      您只需在验证发布的数据时执行此操作,使用与客户端相同的逻辑。您应该始终在服务器端验证数据,即使您在那里有“验证代码”并且认为您需要启用 javascript 才能使其工作,客户端的任何内容都不能被信任。

      在客户端进行验证应该是次要的,只是为了提供良好的用户体验。任何客户端代码都没有安全性。 (如果您不相信我,请安装 firebug 和/或 firefox 的“篡改数据”扩展)。

      【讨论】:

      • 是的,我确实会在保存数据之前验证服务器端,但我不希望用户也能够实际选择某些日期 - 更多的是用户体验。
      【解决方案3】:

      限制日期只有两种方式:

      • 使用 Javascript 的客户端
        这可以通过在服务器端生成或不在服务器端生成的 javascript 来完成,但您最终将始终使用 javascript

      • 服务器端
        您必须使用您最喜爱的.net 语言(c# 或 vb.net)比较 web 控件或输入中的日期

      为了获得更好的 UX 体验,您应该在客户端进行限制,但如果您想确保数据有效,则必须在服务器端进行检查。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-08-01
        • 2018-01-11
        • 1970-01-01
        • 2011-10-24
        相关资源
        最近更新 更多