我正在尝试使用以下语法将我的ascx.cs文件中的变量传递给我的javascript:
protected string DateFinMax = WebConfigurationManager.AppSettings["DateFinMax"].ToString();
在javascript中:
$(function () {
$(".datepickerValidTo").datepicker({
changeMonth: true,
changeYear: true,
dateFormat: 'dd/mm/yy',
minDate : 0,
maxDate: <%= DateFinMax %>,
showOn: 'both',
buttonImage: '../css/smoothness/images/calendar.gif',
buttonImageOnly: false
}, $.datepicker.regional['fr']);
});
后面代码中变量的值很好但是我似乎无法将它传递给我的js文件。我试图把简单和双重引用,但没有任何效果。 js文件在我的ascx文件末尾调用如下:
<script src ="js/datepicker.js"></script>
任何帮助将不胜感激。感谢
答案 0 :(得分:3)
您使用的技术仅用于将代码后面的变量传递给相应的aspx标记。无法从链接的javascript文件中的代码中呈现内容。但是,您可以做的是在页面上创建一个变量,并在js文件中使用它。
在页面上,例如在Page_Load上,执行以下操作:
string script = string.Format("var DateFinMax = {0};", this.DateFinMax);
Page.ClientScript.RegisterClientScriptBlock(typeof(Page), "initDateFinMax", script, True);
在脚本文件中只需使用它,因为这只是另一个javascript变量:
minDate : 0,
maxDate: DateFinMax,
showOn: 'both',
只要您的脚本添加到页面底部,变量就应该可见。