我有一个文本框和一个自制的日期日历。在日历中按日期div(class .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将被调试以检查.Text)显示相同的值,即我在日历中选择的值。
现在问题:
我“回去”从我的日历中选择一个新日期,文本框是空的,就像它在开始时一样。我选择一个日期,jquery将值设置为新日期。如果我转到Chrome浏览器控制台并检查值是什么,我会得到正确的值作为回报。
我最终达到“GetSelected()”方法,我的3个测试版本给出了以下结果:
test1 = null
test2 = old value
test3 = old value
我做错了什么?
答案 0 :(得分:0)
您能否确认页面生命周期的哪个阶段是调用的GetSelected()方法?尝试在加载发布数据之前读取值将导致上述结果..