bool LoadPostData(string postKey, NameValueCollection postData) not call this Event

Last post 04-23-2007 2:06 AM by jayu. 0 replies.

Sort Posts:

  • bool LoadPostData(string postKey, NameValueCollection postData) not call this Event

    04-23-2007, 2:06 AM
    • Member
      546 point Member
    • jayu
    • Member since 04-06-2006, 9:19 AM
    • Ahmedabad
    • Posts 141

    Dear All,

    I have develop one Dateselector control, i have put direct on page this is working fine

    but i have put page in to Master page and put Dateselector control then not call only this event "

    bool LoadPostData(string postKey, NameValueCollection postData)"

    if you any idea then please help me.........

     Code of page..........

    using

    System;

    using

    System.Collections.Specialized;

    using

    System.Web.UI;

    using

    System.Web.UI.WebControls;

    using

    System.Text;

     

    namespace

    CIPL.CustomControls

    {

    public class DateSelector1 : WebControl, IPostBackDataHandler

    {

    protected string CRLF = "\n";

    public DateTime Value

    {

    get

    {

    if (ViewState["Value"] == null)

    ViewState[

    "Value"] = DateTime.Now;

    return (DateTime)ViewState["Value"]; }

    set { ViewState["Value"] = value; }

    }

    public int MinYear

    {

    get

    {

    if (ViewState["MinYear"] == null)

    {

    if (Context != null)

    ViewState[

    "MinYear"] = DateTime.Today.Subtract(new TimeSpan(365*100, 0, 0, 0)).Year;

     

    else

    return 0;

    }

    return (int)ViewState["MinYear"];

    }

    set { ViewState["MinYear"] = value; }

    }

    public int MaxYear

    {

    get

    {

    if (ViewState["MaxYear"] == null)

    ViewState[

    "MaxYear"] = DateTime.Now.Year + 75;

    return (int)ViewState["MaxYear"];

    }

    set { ViewState["MaxYear"] = value; }

    }

    public DateSelector1()

    {}

    public bool LoadPostData(string postKey, NameValueCollection postData) 

    {

    if (Page.Request.Form[UniqueID + "_Year"] != null && Page.Request.Form[UniqueID + "_Month"] != null && Page.Request.Form[UniqueID + "_Day"] != null)

    {

    DateTime newVal = new DateTime(Int32.Parse(Page.Request.Form[UniqueID + "_Year"]), Int32.Parse(Page.Request.Form[UniqueID + "_Month"]), Int32.Parse(Page.Request.Form[UniqueID + "_Day"]));

    if (newVal != Value)

    {

    Value = newVal;

    return true;

    }

    }

    return false;

    }

     

     

    public void RaisePostDataChangedEvent()

    {

    //...

    }

    protected override void OnPreRender(EventArgs e)

    {

    if (!Page.ClientScript.IsClientScriptBlockRegistered("DateSelector1")) //Page.IsClientScriptBlockRegistered("DateSelector1")

    {

    StringBuilder builder = new StringBuilder();

    builder.Append(

    "<script language='JavaScript'>" + CRLF);

    builder.Append(

    "/*" + CRLF);

    builder.Append(

    "============================================================" + CRLF);

    builder.Append(

    "DateSelector script" + CRLF);

    builder.Append(

    "============================================================" + CRLF);

    builder.Append(

    "*/" + CRLF);

    builder.Append(CRLF);

    builder.Append(

    "<!-- Begin" + CRLF);

    builder.Append(

    "//set todays date" + CRLF);

    builder.Append(

    " Now = new Date();" + CRLF);

    builder.Append(

    "NowDay = Now.getDate();" + CRLF);

    builder.Append(

    "NowMonth = Now.getMonth();" + CRLF);

    builder.Append(

    "NowYear = Now.getYear();" + CRLF);

    builder.Append(

    "if (NowYear < 2000) NowYear += 1900; //for Netscape" + CRLF);

    builder.Append(CRLF);

    builder.Append(

    "//function for returning how many days there are in a month including leap years" + CRLF);

    builder.Append(

    "function DateSelector_DaysInMonth(WhichMonth, WhichYear)" + CRLF);

    builder.Append(

    "{" + CRLF);

    builder.Append(

    " var DaysInMonth = 31;" + CRLF);

    builder.Append(

    " if (WhichMonth == \"Apr\" || WhichMonth == \"Jun\" || WhichMonth == \"Sep\" || WhichMonth == \"Nov\") DaysInMonth = 30;" + CRLF);

    builder.Append(

    " if (WhichMonth == \"Feb\" && (WhichYear/4) != Math.floor(WhichYear/4)) DaysInMonth = 28;" + CRLF);

    builder.Append(

    " if (WhichMonth == \"Feb\" && (WhichYear/4) == Math.floor(WhichYear/4)) DaysInMonth = 29;" + CRLF);

    builder.Append(

    " return DaysInMonth;" + CRLF);

    builder.Append(

    "}" + CRLF);

    builder.Append(CRLF);

    builder.Append(

    "//function to change the available days in a months" + CRLF);

    builder.Append(

    "function DateSelector_ChangeOptionDays(Which)" + CRLF);

    builder.Append(

    "{" + CRLF);

    builder.Append(

    " DaysObject = eval(\"document.forms[0].\" + Which + \"_Day\");" + CRLF);

    builder.Append(

    " MonthObject = eval(\"document.forms[0].\" + Which + \"_Month\");" + CRLF);

    builder.Append(

    " YearObject = eval(\"document.forms[0].\" + Which + \"_Year\");" + CRLF);

    builder.Append(CRLF);

    builder.Append(

    "Month = MonthObject[MonthObject.selectedIndex].text;" + CRLF);

    builder.Append(

    "Year = YearObject[YearObject.selectedIndex].text;" + CRLF);

    builder.Append(CRLF);

    builder.Append(

    "DaysForThisSelection = DateSelector_DaysInMonth(Month, Year);" + CRLF);

    builder.Append(

    "CurrentDaysInSelection = DaysObject.length;" + CRLF);

    builder.Append(

    "if (CurrentDaysInSelection > DaysForThisSelection)" + CRLF);

    builder.Append(

    "{" + CRLF);

    builder.Append(

    " for (i=0; i<(CurrentDaysInSelection-DaysForThisSelection); i++)" + CRLF);

    builder.Append(

    " {" + CRLF);

    builder.Append(

    " DaysObject.options[DaysObject.options.length - 1] = null" + CRLF);

    builder.Append(

    " }" + CRLF);

    builder.Append(

    "}" + CRLF);

    builder.Append(

    "if (DaysForThisSelection > CurrentDaysInSelection)" + CRLF);

    builder.Append(

    "{" + CRLF);

    builder.Append(

    " for (i=0; i<(DaysForThisSelection-CurrentDaysInSelection); i++)" + CRLF);

    builder.Append(

    " {" + CRLF);

    builder.Append(

    " NewOption = new Option(DaysObject.options.length + 1);" + CRLF);

    builder.Append(

    " DaysObject.add(NewOption);" + CRLF);

    builder.Append(

    " }" + CRLF);

    builder.Append(

    "}" + CRLF);

    builder.Append(

    "if (DaysObject.selectedIndex < 0) DaysObject.selectedIndex == 0;" + CRLF);

    builder.Append(

    "}" + CRLF);

    builder.Append(CRLF);

    builder.Append(

    "//function to set options to today" + CRLF);

    builder.Append(

    "function DateSelector_SetToToday(Which)" + CRLF);

    builder.Append(

    "{" + CRLF);

    builder.Append(

    "DaysObject = eval(\"document.forms[0].\" + Which + \"_Day\");" + CRLF);

    builder.Append(

    "MonthObject = eval(\"document.forms[0].\" + Which + \"_Month\");" + CRLF);

    builder.Append(

    "YearObject = eval(\"document.forms[0].\" + Which + \"_Year\");" + CRLF);

    builder.Append(CRLF);

    builder.Append(

    "YearObject[0].selected = true;" + CRLF);

    builder.Append(

    "MonthObject[NowMonth].selected = true;" + CRLF);

    builder.Append(CRLF);

    builder.Append(

    "DateSelector_ChangeOptionDays(Which);" + CRLF);

    builder.Append(CRLF);

    builder.Append(

    "DaysObject[NowDay-1].selected = true;" + CRLF);

    builder.Append(

    "}" + CRLF);

    builder.Append(CRLF);

    builder.Append(

    "//function to set options to today" + CRLF);

    builder.Append(

    "function DateSelector_Set(Which, Day, Month, Year)" + CRLF);

    builder.Append(

    "{" + CRLF);

    builder.Append(

    "DaysObject = eval(\"document.forms[0].\" + Which + \"_Day\");" + CRLF);

    builder.Append(

    "MonthObject = eval(\"document.forms[0].\" + Which + \"_Month\");" + CRLF);

    builder.Append(

    "YearObject = eval(\"document.forms[0].\" + Which + \"_Year\");" + CRLF);

    builder.Append(CRLF);

    builder.Append(

    "for (x = 0; x < YearObject.options.length; x++)" + CRLF);

    builder.Append(

    "{" + CRLF);

    builder.Append(

    " if (YearObject[x].value == Year)" + CRLF);

    builder.Append(

    " {" + CRLF);

    builder.Append(

    " YearObject[x].selected = true;" + CRLF);

    builder.Append(

    " }" + CRLF);

    builder.Append(

    "}" + CRLF);

    builder.Append(

    "" + CRLF);

    builder.Append(

    "for (y = 0; y < MonthObject.options.length; y++)" + CRLF);

    builder.Append(

    "{" + CRLF);

    builder.Append(

    " if (MonthObject[y].value == Month)" + CRLF);

    builder.Append(

    " MonthObject[y].selected = true;" + CRLF);

    builder.Append(

    "}" + CRLF);

    builder.Append(

    "" + CRLF);

    builder.Append(

    "DateSelector_ChangeOptionDays(Which);" + CRLF);

    builder.Append(

    "" + CRLF);

    builder.Append(

    "for (z = 0; z < DaysObject.options.length; z++)" + CRLF);

    builder.Append(

    "{" + CRLF);

    builder.Append(

    " if (DaysObject[z].value == Day)" + CRLF);

    builder.Append(

    " DaysObject[z].selected = true;" + CRLF);

    builder.Append(

    "}" + CRLF);

    builder.Append(

    "" + CRLF);

    builder.Append(

    "}" + CRLF);

    builder.Append(

    "" + CRLF);

    builder.Append(

    "//function to disable date selector" + CRLF);

    builder.Append(

    "function DateSelector_Disable(Which)" + CRLF);

    builder.Append(

    "{" + CRLF);

    builder.Append(

    "document.getElementById(Which + \"_Day\").disabled = true;" + CRLF);

    builder.Append(

    "document.getElementById(Which + \"_Month\").disabled = true;" + CRLF);

    builder.Append(

    "document.getElementById(Which + \"_Year\").disabled = true;" + CRLF);

    builder.Append(

    "}" + CRLF);

    builder.Append(CRLF);

    builder.Append(

    "//function to enable date selector" + CRLF);

    builder.Append(

    "function DateSelector_Enable(Which)" + CRLF);

    builder.Append(

    "{" + CRLF);

    builder.Append(

    "document.getElementById(Which + \"_Day\").disabled = false;" + CRLF);

    builder.Append(

    "document.getElementById(Which + \"_Month\").disabled = false;" + CRLF);

    builder.Append(

    "document.getElementById(Which + \"_Year\").disabled = false;" + CRLF);

    builder.Append(

    "}" + CRLF);

    builder.Append(

    "// End -->" + CRLF);

    builder.Append(

    "</script>");

    Page.RegisterClientScriptBlock(

    "DateSelector1", builder.ToString());

    //Page.ClientScript.RegisterClientScriptBlock("DateSelector1", builder.ToString());

    }

    base.OnPreRender(e);

    }

    protected override void Render(HtmlTextWriter writer)

    {

    writer.Write(

    "<input type='hidden' name='{0}' id='{0}'>", this.ClientID);

     

    writer.Write(

    "<SELECT name=\"{0}_Month\" id=\"{0}_Month\" onchange=\"DateSelector_ChangeOptionDays('{0}')\"{1}{2}>", ClientID, Enabled ? "" : " disabled", CssClass != String.Empty ? " class='" + CssClass + "'" : "");

    writer.Write(

    "<OPTION value='1'>Jan</OPTION>");

    writer.Write(

    "<OPTION value='2'>Feb</OPTION>");

    writer.Write(

    "<OPTION value='3'>Mar</OPTION>");

    writer.Write(

    "<OPTION value='4'>Apr</OPTION>");

    writer.Write(

    "<OPTION value='5'>May</OPTION>");

    writer.Write(

    "<OPTION value='6'>Jun</OPTION>");

    writer.Write(

    "<OPTION value='7'>Jul</OPTION>");

    writer.Write(

    "<OPTION value='8'>Aug</OPTION>");

    writer.Write(

    "<OPTION value='9'>Sep</OPTION>");

    writer.Write(

    "<OPTION value='10'>Oct</OPTION>");

    writer.Write(

    "<OPTION value='11'>Nov</OPTION>");

    writer.Write(

    "<OPTION value='12'>Dec</OPTION>");

    writer.Write(

    "</SELECT>");

     

    writer.Write(

    "<SELECT name=\"{0}_Day\" id=\"{0}_Day\" {1}{2}>", ClientID, Enabled ? "" : " disabled", CssClass != String.Empty ? " class='" + CssClass + "'" : "");

    for (int d = 1; d <= 31; d++)

    writer.Write(

    "<OPTION value='{0}'>{0}</OPTION>", d);

    writer.Write(

    "</SELECT>");

    writer.Write(

    "<SELECT name=\"{0}_Year\" id=\"{0}_Year\" onchange=\"DateSelector_ChangeOptionDays('{0}')\"{1}{2}>", ClientID, Enabled ? "" : " disabled", CssClass != String.Empty ? " class='" + CssClass + "'" : "");

    for (int y = MinYear; y <= MaxYear; y++)

    {

    writer.Write(

    "<OPTION value='{0}'>{0}</OPTION>", y);

    }

    writer.Write(

    "</SELECT>");

    writer.Write(

    "<script language=\"Javascript\">DateSelector_Set('{0}', {1}, {2}, {3});</script>", this.ClientID, this.Value.Day, this.Value.Month, this.Value.Year);

    }

    }

    }

     

    Warm Regards,

    Jayu.
    Impossible Is Nothing
Page 1 of 1 (1 items)