0

我正在创建一个使用 jQuery 日期选择器小部件的用户控件,如下所示:

$(function () {
    $("#datePickerYearMonth").datepicker({
        changeMonth: true,
        changeYear: true,
        dateFormat: 'dd-M-yy',
    });
});

但是,我不想对选项进行硬编码,而是想创建属性或类似的东西,以便我可以从后面的代码动态更改属性。

这可能吗?

4

4 回答 4

9

您可以使用内联代码,如下所示:

在后面的代码中:

   protected bool ChangeMonth
   {
          get{
                 return true;
          }
   }

这在javascript中:

   $(function () {
        $("#datePickerYearMonth").datepicker({
            changeMonth: <%=ChangeMonth%>,
            changeYear: true,
            dateFormat: 'dd-M-yy',
        });
    });
于 2012-11-15T09:16:37.787 回答
1

如果您创建一个匿名对象,例如

var myAO = new { changeMonth = true, changeYear = true, dateFromat = "dd-M-yy" };

您可以将其转换为 JSON 字符串JavaScriptSerializer

var myJsonString = new JavaScriptSerializer().Serialize(myAO);

然后你可以使用这个字符串来构建你的 JavasSript,例如你可以把它放在你的代码隐藏中的一个属性中,然后在你的 ASPX 中有一个脚本块:

<script type="text/javascript">
    $(function () {
        $("#datePickerYearMonth").datepicker(<%= MyJsonStringProperty %>);
    });
</script>
于 2012-11-15T09:16:19.217 回答
0

从后面的代码中渲染一些具有变量列表的 JavaScript 块,并在 datepicker 选项中使用相同的

在 asp.net 后面的代码中检查这个Create javaScript 变量

于 2012-11-15T09:15:15.530 回答
0

$.fn.datepicker是在服务器完成处理后在客户端运行的函数。您总是可以编写生成相应 JavaScript 的服务器代码。

例如,如果您想在 AJAX 调用中更改这些属性,则必须确保 AJAX 调用产生您需要的代码,以便重新执行该datepicker函数。

于 2012-11-15T09:16:05.403 回答