0

asp.net Web ページで日付ピッカーを取得しようとしています。マスター ページを使用して同じコードを実行できましたが、動作しますが、マスター ページャーを使用せずに動作させようとすると、次のエラー メッセージが表示されます: エラー: プロパティの値を取得できません'aspnetForm.ctl00_txtDOB': オブジェクトが null または未定義です

Default.aspx ページで....

<script language="javascript" type="text/javascript">
    function calendarPicker(strField) {
        window.open('date_picker.aspx?field=' + strField, 'calendarPopup', 'width=250,height=190,resizable=yes');
    } 


        <label>DOB:</label><asp:TextBox ID="txtDOB" runat="server"></asp:TextBox>
       <img src="images/calendar.gif" alt="Pick To Date" onclick="calendarPicker('aspnetForm.ctl00_txtDOB');"/>

      I already tried onclick="calendarPicker('txtDOB');"/>


My date_picker.aspx.cs
        private void Calendar1_DayRender(object sender, System.Web.UI.WebControls.DayRenderEventArgs e)
        {

            // Clear the link from this day
            e.Cell.Controls.Clear();

            // Add the custom link
            System.Web.UI.HtmlControls.HtmlGenericControl Link = new System.Web.UI.HtmlControls.HtmlGenericControl();
            Link.TagName = "a";
            Link.InnerText = e.Day.DayNumberText;
            Link.Attributes.Add("href", String.Format("JavaScript:window.opener.document.{0}.value = \'{1:d}\'; window.close();", Request.QueryString["field"], e.Day.Date));




            // By default, this will highlight today's date.
            if (e.Day.IsSelected)
            {
                Link.Attributes.Add("style", this.Calendar1.SelectedDayStyle.ToString());
            }



            // Now add our custom link to the page
            e.Cell.Controls.Add(Link);

        }
4

2 に答える 2

1

これを変更してみてください:

onclick="calendarPicker('aspnetForm.ctl00_txtDOB');"

これに:

onclick="calendarPicker('<%=txtDOB.ClientID %>');"
于 2012-09-08T13:38:53.170 に答える
0

私はこれを行うことでそれを機能させました:

forms [0] ....window.opener.document.forms[0]。{0}.value.........を追加します。

Link.Attributes.Add( "href"、String.Format( "JavaScript:window.opener.document.forms[0]。{0}.value = \'{1:d} \'; window.close(); "、Request.QueryString [" field "]、e.Day.Date));

于 2012-09-08T13:46:27.243 に答える