テキストボックスと自家製の日付カレンダーがあります。カレンダーで日付 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 つのバージョン (.Text を確認するために test3 をデバッグします) はすべて、カレンダーで選択した同じ値を示しています。
今問題に:
カレンダーから新しい日付を選択するために「戻る」と、最初と同じようにテキストボックスが空になります。日付を選択すると、jquery は値を新しい日付に設定します。Chrome ブラウザー コンソールにアクセスして値を確認すると、正しい値が返されます。
最終的に「GetSelected()」メソッドに到達し、3 つのテスト バージョンで次の結果が得られます。
test1 = null
test2 = old value
test3 = old value
私は何を間違っていますか?