文本框值已更改,回发后 jQuery 无法访问或已过时



我有一个文本框和一个自制的日期日历。在日历中按日期div(类.available)会触发jquery在文本框中输入日期,请参见代码:

<asp:TextBox id="hidOutboundSelectedDate" ClientIDMode="Static" runat="server" />
$(".available").click(function () {
    var selected = $(this).text();
    $("#hidOutboundSelectedDate").val(selected);
});

我按下搜索按钮并最终输入以下代码隐藏方法:

public string GetSelected()
{
    var test1 = Request.Form[hidOutboundSelectedDate.UniqueID];
    var test2 = hidOutboundSelectedDate.Text;
    var test3 = FindControl("hidOutboundSelectedDate");
    // some extra code goes here
}

此时所有这 3 个版本(test3 将被调试以检查 .文本)显示相同的值,即我在日历中选择的值。

现在进入问题:

我"返回"从日历中选择一个新日期,文本框像开始时一样是空的。我选择一个日期,jquery 将值设置为新日期。如果我转到 Chrome 浏览器控制台并检查值是什么,我会得到正确的值作为回报。

我最终达到了"GetSelected()"方法,我的 3 个测试版本给出了以下结果:

test1 = null
test2 = old value 
test3 = old value

我做错了什么?

你能确认 GetSelected() 方法调用了页面生命周期的哪个阶段吗?尝试在加载发布的数据之前读取值将导致上述结果。

最新更新