0

テキストボックスと自家製の日付カレンダーがあります。カレンダーで日付 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

私は何を間違っていますか?

4

1 に答える 1

0

ページライフサイクルのどの段階でGetSelected()メソッドが呼び出されているかを確認できますか?投稿されたデータがロードされる前に値を読み取ろうとすると、上記の結果になります。

于 2012-12-04T16:32:33.513 に答える