我正在创建一个使用 jQuery 日期选择器小部件的用户控件,如下所示:
$(function () {
$("#datePickerYearMonth").datepicker({
changeMonth: true,
changeYear: true,
dateFormat: 'dd-M-yy',
});
});
但是,我不想对选项进行硬编码,而是想创建属性或类似的东西,以便我可以从后面的代码动态更改属性。
这可能吗?
您可以使用内联代码,如下所示:
在后面的代码中:
protected bool ChangeMonth
{
get{
return true;
}
}
这在javascript中:
$(function () {
$("#datePickerYearMonth").datepicker({
changeMonth: <%=ChangeMonth%>,
changeYear: true,
dateFormat: 'dd-M-yy',
});
});
如果您创建一个匿名对象,例如
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>
从后面的代码中渲染一些具有变量列表的 JavaScript 块,并在 datepicker 选项中使用相同的
在 asp.net 后面的代码中检查这个Create javaScript 变量
$.fn.datepicker是在服务器完成处理后在客户端运行的函数。您总是可以编写生成相应 JavaScript 的服务器代码。
例如,如果您想在 AJAX 调用中更改这些属性,则必须确保 AJAX 调用产生您需要的代码,以便重新执行该datepicker函数。