我正在创建一个使用jQuery日期选择器小部件的用户控件,如下所示:
$(function () {
$("#datePickerYearMonth").datepicker({
changeMonth: true,
changeYear: true,
dateFormat: 'dd-M-yy',
});
});
但是我没有对选项进行硬编码,而是想创建属性或类似的东西,以便我可以从后面的代码中动态更改属性。
这可能吗?
答案 0 :(得分:9)
您可以使用内联代码,如下所示:
在代码背后:
protected bool ChangeMonth
{
get{
return true;
}
}
这是javascript:
$(function () {
$("#datePickerYearMonth").datepicker({
changeMonth: <%=ChangeMonth%>,
changeYear: true,
dateFormat: 'dd-M-yy',
});
});
答案 1 :(得分:1)
如果您创建匿名对象,例如
var myAO = new { changeMonth = true, changeYear = true, dateFromat = "dd-M-yy" };
您可以使用JavaScriptSerializer
var myJsonString = new JavaScriptSerializer().Serialize(myAO);
然后,您可以使用此字符串来构建您的JavasSript,例如你可以把它放在代码隐藏的属性中,然后在你的ASPX中有一个脚本块:
<script type="text/javascript">
$(function () {
$("#datePickerYearMonth").datepicker(<%= MyJsonStringProperty %>);
});
</script>
答案 2 :(得分:0)
从后面的代码中渲染一些具有变量列表的JavaScript块,并在datepicker选项中使用相同的
答案 3 :(得分:0)
$.fn.datepicker
是在服务器完成处理后在客户端运行的函数。您总是可以编写生成相应JavaScript的服务器代码。
如果你想在AJAX调用中更改这些属性,比如说,你必须确保AJAX调用产生你需要的代码才能重新执行datepicker
函数。