从codebehind设置JQuery属性未触发

从codebehind设置JQuery属性未触发,jquery,asp.net,vb.net,visual-studio-2010,Jquery,Asp.net,Vb.net,Visual Studio 2010,我在试着做这个问题的答案 我的页面包含以下代码: function Initialize() { $("#txtFromDateF").datepicker(); $(".needs-datepicker").datepicker({ changeMonth: true, changeYear: true, dateFormat: 'dd-mm-yy', altFormat: 'yy-mm-dd',

我在试着做这个问题的答案

我的页面包含以下代码:

function Initialize() {
    $("#txtFromDateF").datepicker();
    $(".needs-datepicker").datepicker({
        changeMonth: true,
        changeYear: true,
        dateFormat: 'dd-mm-yy',
        altFormat: 'yy-mm-dd',
        minDate: $("#<%= minDays . ClientID %>").val()
    });
}
$(document).ready(function () {
    Session.ResetTimer();
    Initialize();

});
SetMinDays()如下所示:

Private Sub SetMinDays()
    Select Case TicketSubTypeDropDownList.SelectedItem.Value
        Case TicketSubType.ChangeFrequency
            minDays.Value = "+10d"
        Case TicketSubType.ChangeOpeningHours
            minDays.Value = "+30d"
        Case TicketSubType.ChangeCiNumber
            minDays.Value = "+20d"
        Case Else
            minDays.Value = "+0d"
    End Select
End Sub
当我在下拉列表中选择不同的Net TicketSubType时,我会通过SetMinDays()。但是我的屏幕不会更新日期选择器


如何确保datepicker使用SetMinDays中指定的值?

您可以这样做,但有很多事情需要处理,请不要在此处无缘无故地咕哝,如果此隐藏字段在页面(嵌入式控件)中没有重复,请执行以下小技巧:

如果您使用的是asp.net 4.0或更高版本,请将客户端id设置为静态:

<asp:HiddenField ID="minDays" runat="server" ClientIDMode="Static" Value="" />
更新:

在.aspx文件读取服务器id中:

<script>
   var yourid= '<%= minDays.ClientID%>';
</script>

我用的是旧版本。所以我没有ClientIDMode。然后读取页面中的id(在页面中使用服务器标记而不是外部脚本文件非常重要),在页面加载时使用辅助变量获取id,使用该id进行初始化我不理解。你是什么意思?在控制台警报(yourid);让我们。
<asp:HiddenField ID="minDays" runat="server" ClientIDMode="Static" Value="" />
minDate: $("#minDays").val()
<script>
   var yourid= '<%= minDays.ClientID%>';
</script>
minDate: $("#" + yourid).val();