Laden...

Ajax: CalendarExtender

Erstellt von simhi88 vor 13 Jahren Letzter Beitrag vor 13 Jahren 1.377 Views
S
simhi88 Themenstarter:in
38 Beiträge seit 2009
vor 13 Jahren
Ajax: CalendarExtender

Hallo!

Ich habe ein Problem mit dem CalendarExtender von Ajax.

Und zwar sieht mein Code folgendermaßen aus:


<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <asp:ScriptManager ID="ScriptManager1" runat="server">
    </asp:ScriptManager>
    <div>    
    <br /><br />    
    <b>Calendar with associated button:</b></br />      
    <asp:TextBox ID="Date3" runat="server"></asp:TextBox>
    <asp:Image ID="Image1" runat="server" ImageUrl="~/Calendar_scheduleHS.png" />
        <asp:CalendarExtender ID="CalendarExtender1" runat="server" TargetControlID="Date3" PopupButtonID="Image1">
        </asp:CalendarExtender> 
    
    </div>  
    </form>
</body>
</html>

Dies bedeutet, ich habe ich kleines Bild neben einer Textbox und möchte beim Draufklicken einen Kalendar erscheinen lassen. Nur leider erscheint beim Draufklicken nichts.
Woran könnte das liegen? Hat vielleicht einer eine Idee? Ich komme gerade echt nicht weiter..

Danke schon mal für eure Hilfe.

Lg

R
68 Beiträge seit 2010
vor 13 Jahren

Dies bedeutet, ich habe ich kleines Bild neben einer Textbox und
möchte beim Draufklicken einen Kalendar erscheinen lassen. Nur leider erscheint
beim Draufklicken nichts.
Woran könnte das liegen? Hat vielleicht einer eine Idee? Ich komme gerade echt
nicht weiter..
Danke schon mal für eure Hilfe.

Hm, bei meinem AjaxControlToolKit lässt sich diese Funktionalität ohne Probleme
abbilden:


<asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>    
<asp:Image ID="Image1" runat="server" ImageUrl="images/img04.jpg" />
<ajaxControlToolkit:ToolkitScriptManager ID="ToolkitScriptManager1" runat="server">
</ajaxControlToolkit:ToolkitScriptManager>
<ajaxControlToolkit:CalendarExtender ID="CalendarExtender1" runat="server" 
TargetControlID="TextBox2" PopupButtonID="Image1">
</ajaxControlToolkit:CalendarExtender>

Welches Toolkit verwendest Du? Ist das Toolkit als Assembly registriert?
Mich verwundert das ASP:-Prefix bei Deinem Kalender, bei mir ist der AJAX-
Kalender nicht Bestandteil der Standard-Ajax Lib (VS2008).

Robin

S
simhi88 Themenstarter:in
38 Beiträge seit 2009
vor 13 Jahren

Ah ich habs schon.
Hast mir mit deiner Antwort schon geholfen 😃

<ajaxControlToolkit:ToolkitScriptManager ID="ToolkitScriptManager1" runat="server">
</ajaxControlToolkit:ToolkitScriptManager>

Das hat bei mir gefehlt. Ich habe den "normalen" ScriptManager bei den "AJAX-Erweiterungen" genommen. Damit funktioniert es anscheinend nicht ganz so.

Danke! Jetzt klappt es! 😃

Lg

S
simhi88 Themenstarter:in
38 Beiträge seit 2009
vor 13 Jahren

Dennoch hätte ich gerade noch eine weitere Frage:

Ist es möglich, wenn z.B. in einer Textbox bereits ein Jahr angegeben wurde, dass der CalendarExtender auch in dem Jahr beginnt den Kalendar anzuzeigen? Also würde das gerne für die Eingabe eines Geburtsdatums anwenden. Man gibt sein Geburtsjahr in einer Textbox an und durch Klick auf einen Button/ein Image wird dann der Kalendar angezeigt, beginnend in diesem eingegebenen Jahr.

Ist sowas damit möglich?

Lg

1.433 Beiträge seit 2006
vor 13 Jahren

Mein Vorschlag:


        protected void TextBox_OnTextChanged(object sender, EventArgs e)
        {
            TextBox textbox = (TextBox)sender;
            DateTime dateTime = DateTime.Parse(string.Format(@"1/1/{0}", textbox.Text));

            CalendarExtender calExtender = (CalendarExtender)UpdatePanelCalendarExtender.FindControl("BirthDateCalendarExtender");            
            calExtender.SelectedDate = dateTime;
        }


    <form id="form1" runat="server">
        <cc1:ToolkitScriptManager ID="ToolkitScriptManager" runat="server">
        </cc1:ToolkitScriptManager>
    <asp:UpdatePanel ID="UpdatePanelCalendarExtender" runat="server" RenderMode="Block" UpdateMode="Conditional" >
    <ContentTemplate>
            <asp:TextBox ID="YearOfBirthTextBox" runat="server" OnTextChanged="TextBox_OnTextChanged"></asp:TextBox>
    <cc1:CalendarExtender ID="BirthDateCalendarExtender" runat="server" TargetControlID="YearOfBirthTextBox" PopupButtonID="YearOfBirthTextBox" >
    </cc1:CalendarExtender>
    </ContentTemplate>
    <Triggers>
    <asp:PostBackTrigger ControlID="YearOfBirthTextBox" />
    </Triggers>
    </asp:UpdatePanel>
    </form>

Grüsse
Daniel
Space Profile
Wer nicht fragt, der nicht gewinnt