none
ajaxToolkitのカレンダエクステンダーで日本語対応時のエラーについて RRS feed

  • 質問

  • いつもお世話になります。

    ajaxToolkitのCalendarExtenderで曜日の日本語対応するために、ToolkitScriptManagerのEnableScriptsGlobalization=Trueとしたところ、下記のエラーが発生します。
    EnableScriptsGlobalization=Falseでは問題なく実行されます。
    開発環境は、VWD2008ExpressEdition、AjaxControlToolkit.Binary.NET35.zip(40412)です。

    ネット上でいろいろ調査してみましたが、同じ現象のものがなく、原因が全く分からない状況です。
    なにか参考となる情報がありましたら、教えていただけないでしょうか?

     『Microsoft JScript コンパイル エラー: '}' がありません。』のダイアログが表示

    ■エラー箇所は【ScriptResource.axd?d=..............】の下記の←の位置で発生します。
    ------------------------------------------------------------------------------------------------
    $type._setup = function() {
        var cultureInfo = window.__cultureInfo,
            monthNames = ["January","February","March","April","May","June","July","August","September","October","November","December",""],
            shortMonthNames = ["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec",""],
            invariant = {"name":"","numberFormat":{"CurrencyDecimalDigits":2,"CurrencyDecimalSeparator":".","CurrencyGroupSizes":[3],"NumberGroupSizes":[3],"PercentGroupSizes":[3],"CurrencyGroupSeparator":",","CurrencySymbol":"\u00A4","NaNSymbol":"NaN","CurrencyNegativePattern":0,"NumberNegativePattern":1,"PercentPositivePattern":0,"PercentNegativePattern":0,"NegativeInfinitySymbol":"-Infinity","NegativeSign":"-","NumberDecimalDigits":2,"NumberDecimalSeparator":".","NumberGroupSeparator":",","CurrencyPositivePattern":0,"PositiveInfinitySymbol":"Infinity","PositiveSign":"+","PercentDecimalDigits":2,"PercentDecimalSeparator":".","PercentGroupSeparator":",","PercentSymbol":"%","PerMilleSymbol":"\u2030","NativeDigits":["0","1","2","3","4","5","6","7","8","9"],"DigitSubstitution":1},"dateTimeFormat":{"AMDesignator":"AM","Calendar":{"MinSupportedDateTime":"@-62135568000000@","MaxSupportedDateTime":"@253402300799999@","AlgorithmType":1,"CalendarType":1,"Eras":[1],"TwoDigitYearMax":2029},"DateSeparator":"/","FirstDayOfWeek":0,"CalendarWeekRule":0,"FullDateTimePattern":"dddd, dd MMMM yyyy HH:mm:ss","LongDatePattern":"dddd, dd MMMM yyyy","LongTimePattern":"HH:mm:ss","MonthDayPattern":"MMMM dd","PMDesignator":"PM","RFC1123Pattern":"ddd, dd MMM yyyy HH\':\'mm\':\'ss \'GMT\'","ShortDatePattern":"MM/dd/yyyy","ShortTimePattern":"HH:mm","SortableDateTimePattern":"yyyy\'-\'MM\'-\'dd\'T\'HH\':\'mm\':\'ss","TimeSeparator":":","UniversalSortableDateTimePattern":"yyyy\'-\'MM\'-\'dd HH\':\'mm\':\'ss\'Z\'","YearMonthPattern":"yyyy MMMM","AbbreviatedDayNames":["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],"ShortestDayNames":["Su","Mo","Tu","We","Th","Fr","Sa"],"DayNames":["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],"AbbreviatedMonthNames":shortMonthNames,"MonthNames":monthNames,"NativeCalendarName":"Gregorian Calendar","AbbreviatedMonthGenitiveNames":Array.clone(shortMonthNames),"MonthGenitiveNames":Array.clone(monthNames)},"eras":[1,"A.D.",null,0]};
        this.InvariantCulture = this._parse(invariant);
        switch(typeof(cultureInfo)) {
            case "string":
                cultureInfo = window.eval("(" + cultureInfo + ")");  ←ここでエラー
            case "object":
                this.CurrentCulture = this._parse(cultureInfo);
                delete __cultureInfo;   
                break;
            default:
                cultureInfo = clone(invariant);
                cultureInfo.name = "en-US";
                cultureInfo.numberFormat.CurrencySymbol = "$";
                var dtf = cultureInfo.dateTimeFormat;
                dtf.FullDatePattern = "dddd, MMMM dd, yyyy h:mm:ss tt";
                dtf.LongDatePattern = "dddd, MMMM dd, yyyy";
                dtf.LongTimePattern = "h:mm:ss tt";
                dtf.ShortDatePattern = "M/d/yyyy";
                dtf.ShortTimePattern = "h:mm tt";
                dtf.YearMonthPattern = "MMMM, yyyy";
                this.CurrentCulture = this._parse(cultureInfo);
                break;
        }
    }
    ------------------------------------------------------------------------------------------------

    ■aspxは下記が全てです。
    ------------------------------------------------------------------------------------------------
    <%@ Page Language="VB" %>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <script runat="server">
    </script>
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <title></title>
    </head>
    <body>
        <form id="form1" runat="server">
        <div>
       
            <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
            <ajaxToolkit:CalendarExtender ID="TextBox1_CalendarExtender" runat="server"
                DaysModeTitleFormat="yyyy/M" Enabled="True" TargetControlID="TextBox1"
                TodaysDateFormat="yyyy/M/d">
            </ajaxToolkit:CalendarExtender>
            <ajaxToolkit:ToolkitScriptManager ID="ToolkitScriptManager1" runat="server"
                EnableScriptGlobalization="True">
            </ajaxToolkit:ToolkitScriptManager>
       
        </div>
        </form>
    </body>
    </html>
    ------------------------------------------------------------------------------------------------

    2011年1月20日 2:41

回答

  • > ScriptResource.axdというファイルは具体的になんでしょうか?

    ファイルでなくて、Assembly(今回の場合 AjaxControlToolkit.dll)に埋め込まれた
    html, css, image, script ファイルを取得するための HTTP ハンドラです。

    web.config を見ると以下のような定義がされているはずです。

    <add name="ScriptResource" preCondition="integratedMode" verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>

    • 回答としてマーク Zigen 2011年1月24日 5:31
    • 回答としてマークされていない Zigen 2011年1月24日 5:32
    • 回答としてマーク Zigen 2011年1月26日 0:22
    2011年1月23日 12:50

すべての返信

  • jaxToolkitのCalendarExtenderで曜日の日本語対応するために、ToolkitScriptManagerのEnableScriptsGlobalization=Trueとしたところ、下記のエラーが発生します。
    EnableScriptsGlobalization=Falseでは問題なく実行されます。
    開発環境は、VWD2008ExpressEdition、AjaxControlToolkit.Binary.NET35.zip(40412)です。

    追加の情報です。

    VWDのデバッグ環境で実行すると、エラーになりますが、VWDを通さずに(ブラウザから実行)では、エラーが発生しません。

    開発環境に問題があるのでしょうか?

     

     

    2011年1月21日 8:52
  • 同じコードで試しましたが、VS2010 Pro, VS2008 Pro いずれの開発サーバー
    でも問題は再現されませんでした。

    たぶん、環境の違いか、Ajax Control Toolkit の不具合ではない別の問題(フ
    ァイルが壊れているとか)があるのではないかと思います。

    ちなみに自分の環境は下記の通りです。

    Vista Ultimate 32-bit SP2, .NET 3.5 SP1, Ajax Control Toolkit 3.5.4012.2,
    VS 2010 Pro 10.0.30319.1, VS 2008 Pro 9.0.30729.1 SP

    2011年1月22日 7:49
  • 回答、ありがとうございます。

    私も、環境の問題ではないかと考えています。
    そこで、ご存知でしたら、教えてください。
    ScriptResource.axdというファイルは具体的になんでしょうか?壊れていると思われるファイルを入れ替えしたいと思います。

    最悪、VWD2008を再インストールするしかないのかな〜
    2011年1月23日 11:40
  • > ScriptResource.axdというファイルは具体的になんでしょうか?

    ファイルでなくて、Assembly(今回の場合 AjaxControlToolkit.dll)に埋め込まれた
    html, css, image, script ファイルを取得するための HTTP ハンドラです。

    web.config を見ると以下のような定義がされているはずです。

    <add name="ScriptResource" preCondition="integratedMode" verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>

    • 回答としてマーク Zigen 2011年1月24日 5:31
    • 回答としてマークされていない Zigen 2011年1月24日 5:32
    • 回答としてマーク Zigen 2011年1月26日 0:22
    2011年1月23日 12:50
  • VWD2008の修復セットアップ、AjaxControlToolkitの再セットアップをしてみましたが、現象は変わらずでした。

    環境の問題と思われますが、どのファイルかを特定できないため、手の打ちようがありません。

    とりあえず、デバック環境ではToolkitScriptManagerをEnableScriptsGlobalization=Falseで実行します。

    ありがとうございました。

     

     

     

    2011年1月26日 0:28