マスターページに非表示のフィールドがあります。そして、Javascriptを使用して、現在の日付と時刻をその「隠しフィールド」の値として設定しました。他のページのページロードメソッドでこの非表示フィールド値を取得できません。
これが私のコードです。
HiddenField hdnCurrentDate = (HiddenField)this.Master.FindControl("hdnCurrentDate");
ClientScript.RegisterClientScriptBlock(this.GetType(), "Message", "var CurrentDate = new Date(); $('#" + hdnCurrentDate.ClientID + "').val(CurrentDate);alert($('#ctl00_hdnCurrentDate').val());", true);
マスターページでHiddenfieldを次のように定義しました
<asp:HiddenField ID="hdnCurrentDate" runat="server" />
「hdnCurrentDate」が未定義であるというアラートが表示されました。これは、ポストバックメソッドではなくページロードでコードを記述したためです。
これが私が実装した別の方法です。
コードビハインドでConvertTimeBySystemTimeZoneIdを使用しました。これが同じコードです。
DateTime ClientDateTime = DateTime.Now;
DateTime _localTime = TimeZoneInfo.ConvertTimeBySystemTimeZoneId(ClientDateTime, "Arab Standard Time");
return _localTime;
「アラブ標準時」の代わりに宛先タイムゾーンIDを取得できませんでした。私がそれを手に入れれば、私の問題は解決されるでしょう。
私のページのいずれかで現在の日時を取得する他の方法はありますか?セッションとCookieを使用したくありません。
前もって感謝します。