【问题标题】:Access jQuery Controls on Server Side?在服务器端访问 jQuery 控件?
【发布时间】:2011-08-08 21:53:06
【问题描述】:

是否有构建用于从服务器端调用 jQuery / Javascript 函数的库或框架?

例如,假设我在我的页面上使用 jQuery UI 日期选择器控件。日期选择器的格式(例如,MM/dd/yyyy)可根据每个用户进行配置。在这种情况下,我必须在服务器上检索用户首选项,在隐藏控件中记录用户选择的格式,将 HTML 页面发送到客户端,最后从客户端的隐藏控件中提取格式。是否有任何图书馆可以促进这个冗长的过程?

【问题讨论】:

  • 什么服务器? php? ASP.NET? Java [+...]?
  • 在这种情况下,您可以在通过服务器端脚本生成的 HTML 中编写内联 javascript。
  • 对不起,伙计们。我在黑暗的一面。微软 ASP.NET 4.0。

标签: javascript jquery controls server-side


【解决方案1】:

我喜欢为这类事情使用自定义属性。

<asp:TextBox runat="server" id="myDatePicker" ClientIDMode="Static" 
  format="MM/dd/yyyy" />

在根据用户设置渲染页面时渲染属性,然后客户端代码可以在需要时抓取它并酌情应用:

var format = $('#myDatePicker').attr('format');

我有时会为此目的使用一个简单的基础架构,它可以 JSON+base64 编码对象以包含在通用“数据”属性中,然后在客户端展开它,以向控件添加更复杂的信息。

在其他情况下,我只是在需要时使用通过 ajax 调用的服务从客户端获取设置,但如果您已经知道呈现页面时的内容,这种方式会更有效。

【讨论】:

    【解决方案2】:

    您需要结合某种服务器端脚本语言(例如 MySQL/PHP)来拉取用户偏好,那么捆绑起来应该不会太难。您只需要使存储“动态”因为它接受广泛的日期格式,或转换为更标准化的格式。

    在我知道您使用的是什么语言或一些示例代码之前,我很难回答。

    【讨论】:

      【解决方案3】:

      取决于您的网站和页面的设置方式。但是,如果您将用户选择的日期选择器格式存储在 cookie 或会话变量中,您可以通过页面上的字符串属性(例如 DatePickerFormat)公开此值,然后使 jQuery datepicker dateFormat 像这样动态:

      $(document).ready(function() {
        $('#idOfDataPickerControl').datepicker('option', 'dateFormat', '<%=DatePickerFormat%>');
      });
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-03-24
        • 1970-01-01
        • 1970-01-01
        • 2020-07-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-03-01
        相关资源
        最近更新 更多