Diskuze: Ajax Control Toolkit nefunguje za použití Script manageru

JavaScript JavaScript Ajax Control Toolkit nefunguje za použití Script manageru

Avatar
Nikola Sterziková (PaNika):

Ahoj,

mám takový problém. Chci na stránce použít CalendarExtender z Ajax Control Toolkit. Pokud však na stránce použiji standardní asp:ScriptManager, CalendarExtender nefunguje. Pokud použiji ToolkitScriptMa­nager CalendarExtender sice funguje, ale na stránce zase nefunguje tlačítko Zpět v prohlížeči. (tedy uživatel opustí tuto stránku kliknutím na odkaz, a pak použije tlačítko Zpět a prohlížeč zahlásí, že platnost stránky vypršela.)

Nemáte s tím někdo zkušenost?
Používám VS 2012, Framework 4.5, Ajax Control Toolkit mám nainstalovaný přez Nugget, tak snad mám poslední verzi.

Kód, kde nefunguje CalendarExtender:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Test1.aspx.cs" Inherits="nsKalendar.Test1" %>
<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="act" %>
<!DOCTYPE html>

<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>
        <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
        <act:CalendarExtender ID="CalendarExtender1" runat="server" TargetControlID="TextBox1"></act:CalendarExtender>

    </form>
</body>
</html>

Kód kde CalendarExtender funguje (ale zase nejde ta historie v prohlížeči):

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Test1.aspx.cs" Inherits="nsKalendar.Test1" %>
<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="act" %>
<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
        <act:ToolkitScriptManager ID="ToolkitScriptManager1" runat="server"></act:ToolkitScriptManager>
        <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
        <act:CalendarExtender ID="CalendarExtender1" runat="server" TargetControlID="TextBox1"></act:CalendarExtender>

    </form>
</body>
</html>

Předem dík za pomoc.
Nikola

Editováno 14.3.2014 15:23
 
Odpovědět 14.3.2014 15:22
Avatar
Odpovídá na Nikola Sterziková (PaNika)
Nikola Sterziková (PaNika):

Nakonec mi poradili mi na atakala.com
(http://atakala.com/…er/Item.aspx?…)

Je třeba přidat několik referencí do Scirpt manageru.
Níže uvedené reference se ukázaly jako minimální pro fungování CalendarExtederu...

<asp:ScriptManager ID="ScriptManager1" runat="server">
                <CompositeScript>
                    <Scripts>
                        <asp:ScriptReference Name="MicrosoftAjax.js" />
                        <asp:ScriptReference Name="MicrosoftAjaxWebForms.js" />
                        <asp:ScriptReference Name="Common.Common.js" Assembly="AjaxControlToolkit, Version=4.5.7.1213, Culture=neutral, PublicKeyToken=28f01b0e84b6d53e" />
                        <asp:ScriptReference Name="ExtenderBase.BaseScripts.js" Assembly="AjaxControlToolkit, Version=4.5.7.1213, Culture=neutral, PublicKeyToken=28f01b0e84b6d53e" />
                        <asp:ScriptReference Name="PopupExtender.PopupBehavior.js" Assembly="AjaxControlToolkit, Version=4.5.7.1213, Culture=neutral, PublicKeyToken=28f01b0e84b6d53e" />
                        <asp:ScriptReference Name="Common.DateTime.js" Assembly="AjaxControlToolkit, Version=4.5.7.1213, Culture=neutral, PublicKeyToken=28f01b0e84b6d53e" />
                        <asp:ScriptReference Name="Common.Threading.js" Assembly="AjaxControlToolkit, Version=4.5.7.1213, Culture=neutral, PublicKeyToken=28f01b0e84b6d53e" />
                        <asp:ScriptReference Name="Calendar.CalendarBehavior.js" Assembly="AjaxControlToolkit, Version=4.5.7.1213, Culture=neutral, PublicKeyToken=28f01b0e84b6d53e" />
                    </Scripts>
                </CompositeScript>
            </asp:ScriptManager>
 
Nahoru Odpovědět  +1 14.3.2014 17:36
Avatar
Odpovídá na Nikola Sterziková (PaNika)
Michal Štěpánek:

Funguje ti to i v aplikaci? Mě tam CalendarExtender nechce makat. Když to udělám jako web, tak je to OK. Jakmile to ale chci rozběhat v projektu(weba­plikaci), tak to vyhazuje pořád nějaké chyby...

Nahoru Odpovědět 11.7.2014 21:35
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Avatar
Odpovídá na Michal Štěpánek
Nikola Sterziková (PaNika):

počkej, teď ti moc nerozumím...
Mám to udělané v projektu Visual Studia, je to web forms a mám tam tyto reference a funguje mi to.

<asp:ScriptManagerProxy ID="ScriptManagerProxy1" runat="server">
                <CompositeScript>
                        <Scripts>
                                <asp:ScriptReference Name="MicrosoftAjax.js" />
                                <asp:ScriptReference Name="MicrosoftAjaxWebForms.js" />
                                <asp:ScriptReference Name="Common.Common.js" Assembly="AjaxControlToolkit, Version=4.5.7.1213, Culture=neutral, PublicKeyToken=28f01b0e84b6d53e" />
                                <asp:ScriptReference Name="ExtenderBase.BaseScripts.js" Assembly="AjaxControlToolkit, Version=4.5.7.1213, Culture=neutral, PublicKeyToken=28f01b0e84b6d53e" />
                                <asp:ScriptReference Name="PopupExtender.PopupBehavior.js" Assembly="AjaxControlToolkit, Version=4.5.7.1213, Culture=neutral, PublicKeyToken=28f01b0e84b6d53e" />
                                <asp:ScriptReference Name="Common.DateTime.js" Assembly="AjaxControlToolkit, Version=4.5.7.1213, Culture=neutral, PublicKeyToken=28f01b0e84b6d53e" />
                                <asp:ScriptReference Name="Common.Threading.js" Assembly="AjaxControlToolkit, Version=4.5.7.1213, Culture=neutral, PublicKeyToken=28f01b0e84b6d53e" />
                                <asp:ScriptReference Name="Calendar.CalendarBehavior.js" Assembly="AjaxControlToolkit, Version=4.5.7.1213, Culture=neutral, PublicKeyToken=28f01b0e84b6d53e" />
                                <asp:ScriptReference Name="Animation.Animations.js" Assembly="AjaxControlToolkit, Version=4.5.7.1213, Culture=neutral, PublicKeyToken=28f01b0e84b6d53e" />
                                <asp:ScriptReference Name="Compat.Timer.Timer.js" Assembly="AjaxControlToolkit, Version=4.5.7.1213, Culture=neutral, PublicKeyToken=28f01b0e84b6d53e" />
                        </Scripts>
                </CompositeScript>
        </asp:ScriptManagerProxy>

Je fakt, že při testování na pokusném projektu se mi stalo, že to nechtělo fungovat. Musela jsem založit úplně prázdný projekt a pak to fungovalo. Mě přijde, že když se zakládá ve VS projekt z nějaké šablony, tak tam VS dá spousty věcí, které stejně člověk nevyužije a nějak si to pak s tím AJAXem nerozumělo... Tak jestli to není tím....

 
Nahoru Odpovědět 14.7.2014 12:10
Avatar
Odpovídá na Nikola Sterziková (PaNika)
Michal Štěpánek:

To jsem měl na mysli, když to chci dát do projektu ze šablony, tak to nejde..., nicméně jsem to nakonec obešel, udělal jsem tam textbox, imagebutton a schovaný calendar a obsluhuju to událostmi na kliknutí... 8-)

Nahoru Odpovědět 15.7.2014 10:23
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 6 zpráv z 6.