none
VB2008のスマートタグにAJAXエクステンダーの追加が表示されない RRS feed

  • 質問

  • いつも参考にさせていただいております

    市販のマニュアルを使用しAJAXの学習をしております

    今回、ASP.NET(.NET Framework 3.5)で、テキストボックスにエクステンダコントロール
    を追加したくASP.NETAJAXのサイトhttp://ajaxcontroltoolkit.codeplex.com/から「ASP.NET AJAX Control Toolkit」のダウンロードを行い市販マニュアルの手順に従いツールボックスの「AJAX Control Toolkit」ダブにコントロールを配置しました。

    市販のマニュアルによれば対象とするテキストボックスを選択しスマートタググリフをクリックして、スマートタグで「エクステンダの追加」をクリックするとありますが
    「エクステンダの追加」が表示されません。またツールボックスから対象とするテキストボックスへの追加もできません。追加不可マーク(丸に斜め線)が出てしまいます。


    どのようにしたらいいか教えてください。
    宜しくお願いします。


    わかばマーク
    2010年4月18日 14:28

回答

  • 自己レスです。

    本件、Ajax Toolkitを.NET4.0で入れ替えたら解決しましたので報告します。

    手順は以下のようです。

    1.AjaxサイトよりAjaxControlToolkitBinary.NET4.zipをダウンロード

    2.上記をD\Visual Studio 2010\AjaxToolkitに解凍

    3.上記フォルダのAjaxControlToolkitSampleSite.zipを解凍

    4.上記フォルダ中のBinフォルダをコピーして\inetpub\WebYoyaku\Binに貼り付け(前のを削除し貼り付け)

    5.VB2010のツールボックスのAjaxToolkitタブを削除

    6.その後、ツールボックスにあらたなタブAjax Control Toolkitを作成

    7.追加されたAjax Control Toolkitタブ内で右クリックして「アイテムの選択」をクリック

    8.「参照」をクリック

    9.\inetpub\WebYoyaku\Binフォルダに含まれるAjaxControlToolkit.dllを選択し「開く」をクリック

    10.「OK」を選択するとツールボックスにタブコントロールが(以前はテキストアイコンであったが今度はアイコンで)追加された

    11.その後、(以前は表示されなかった)TextBoxのスマートタググリフに「エクステンダーの追加」が表示された

    12.「エクステンダーの追加」により「FilterTextBoxExtender」の選択が可能となった

    以上です。これまで「エクステンダーの追加」がでなかった原因は依然としてはっきりしませんが、構成の問題であったように思います


    わかばマーク
    • 回答としてマーク TasCal 2010年5月16日 2:21
    2010年5月16日 2:20
  • はじめまして  同じ現象で回避方法がわかったので参考に。

     

    こちらはtoolkit3.0を3.5にアップしたときに同じ現象が出ました。

    使用環境はVS2008です。

    結論としては、ツールバーに3.5のみを追加するとおかしくなるみたいで、

    その状態で そのまま3.0を別のタブを追加するとかして更に追加するとエクステンダーの追加が

    復活してできるようになるみたいです。

     

    VSはいろいろバグが有りますが、これもそうみたいですね。

    • 回答としてマーク TasCal 2011年6月11日 13:07
    2011年6月10日 6:02
  • 同様の現象で試行錯誤した挙句、Visual Studio 2008 のSP1をインストすることにより、解決しました。
    新しい環境だったので最初から3.5だけを入れていたのですが、3.0を入れると治る書き込みがありましたので、3.0のkitをダウンロード使用したらcodeplexが繋がらず試すことができませんでした。また、構成が壊れてしまっていたのが原因のようですが、Devenv.exe /ResetSkioPkgsだけでは治りませんでした。以上参考まで

    • 回答としてマーク TasCal 2012年2月13日 12:09
    2012年2月12日 0:06

すべての返信

  •  御世話になります。追伸です。

    下記のようにソースを追加することはできます。このときajaxのインテリセンスは出ます。

    ・・・・・・上部略・・・・・・

    <tr>
                        <td class="tableStyle1">
                            郵便番号</td>
                        <td class="tableStyle2" colspan="4">
                            <asp:TextBox ID="yubin_bangoTextBox" runat="server" CssClass="ImeOff"
                                Text='<%# Bind("yubin_bango") %>' />
                                <ajaxToolkit:FilteredTextBoxExtender ID="yubin_bangoTextBox_FilteredTextBoxExtender" Enabled ="true" targetcontrolid="yubin_bangoTextBox" runat="server" />
                            <br />
                            <asp:RegularExpressionValidator ID="RegularExpressionValidator9" runat="server"
                                ControlToValidate="yubin_bangoTextBox" Display="Dynamic"
                                ErrorMessage="郵便番号は「000-0000」の書式で入力してください"
                                ValidationExpression="\d{3}(-(\d{4}|\d{2}))?"></asp:RegularExpressionValidator>
                        </td>
                    </tr>

    ・・・・・・以下略・・・・・

    上記のようにコーディングした後、デザイン画面でyubin_bangoTextBoxのスマートタグには次のように表示されます

    DataBindingsの編集...

    DataBindingsの編集...

    エクステンダの削除...

    DataBindingsの編集...が2つ出るのも気に入らないところです。

     

    よろしくお願いします


    わかばマーク
    2010年4月19日 15:32
  • TasCal さん、こんにちは。

    市販のマニュアルにしたがってインストールと有りますが,どのような方法だったのでしょうか。

    下記のページに有るように,ツールボックスに AjaxControlToolkit.dll を参照させる形でしょうか?
    http://www.asp.net/learn/Ajax-Control-Toolkit/tutorial-47-cs.aspx

    また、新しく作成したプロジェクトでも同じ現象が起きるのでしょうか?

    2010年4月23日 8:38
  • 菊地 様

    返信いただきありがとうございます。

    >市販のマニュアルにしたがってインストールと有りますが,どのような方法だったのでしょうか。

    Ajax Toolkit のインストール方法

    Visual Basic 2008 Webアプリケーション開発入門、日経BPソフトプレスのP224以降を参考に以下のように行いました。

    1.マスターページにScript Managerを追加しました

    2.以下のサイトからAjax Toolkitをダウンロードしました

    http://ajaxcontroltoolkit.codeplex.com/releases/view/43475

    Ajax Control Toolkit .NET3.5-Binaryを選択しました。

    3.解凍後、フォルダ ar,cs,de,es,fr,he,hi,it,ja,ko,nl,pt,ru,tr-TR,zh-CHS,zh-CHTの各フォルダとAjaxControlToolkit.dllC:\inetpub\WebYoyaku\Binにコピーしました

    4.Visual Studioを起動して「WebYoyaku」のWebサイト(IIS上にWebYoyakuWebサイトは作成してあります)を開きました

    5.ソリューションエクスプローラに「Bin」フォルダが追加されているのを確認しました

    ソリューションエクスプローラで「web.config」をダブルクリックし<configuration><system.web><pages><controls>に以下のエントリーを追加しました

    <pages>

                                              <controls>

                                                            <add tagPrefix="asp" namespace="System.Web.UI" assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>

                                                            <add tagPrefix="asp" namespace="System.Web.UI.WebControls" assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>

                    <add  tagPrefix="ajaxToolkit" namespace ="AjaxControlToolkit" assembly="AjaxControlToolkit"/>

            </controls></pages>

    6.ファイルメニューの「Web.configの保存」で保存しました

    7.今回のプロジェクト「WebYoyaku」のツールボックスにAJAX Control Toolkitのタブを作成しました

    8.追加された「AJAX Control Toolkit」タブ内で右クリックしショートカットメニューの「アイテムの選択」をクリックすると「ツールボックスアイテムの選択」ダイアログボックスが表示されました

    9.「参照」をクリックし「開く」ダイアログでC:\inetpub\WebYoyaku\Binを指定しフォルダに含まれる「AjaxControlToolkit.dll」を選択し「開く」をクリックしました。

    10.     すると「ツールボックスアイテムの選択」ダイアログボックスの「.NET Frameworkコンポーネント」タブの一覧にカスタムコントロールが追加されました

    11.     OK」をクリックするとツールボックスの「AJAX Control Toolkit」タブにコントロールが配置されました。

    12.     その後、作成中のフォームのデザインビューのテキストボックスを選択しスマートタググリフをクリックすると、スマートタグは表示されますが「エクステンダの追加」が表示されません。。。。。。[疑問]

     

    >また、新しく作成したプロジェクトでも同じ現象が起きるのでしょうか?

    起きます。以下のようにやってみましたが、結果は同じで「エクステンダの追加」は表示されません。

    1.C:\inetpub\test_site1フォルダを作成

    2.IIStest_site1Webサイトを作成

    3.C:\inetpub\test_site1BinWebYoyakuで使用したBinをコピー

    4.web.configWebYoyakuと同様に修正しました

    5.その後、マスターページを作成しマスターページにScript Managerを追加しました

    6.test_list1.aspxを作成しSqlDataSource,Formviewを追加しました

    7.Formviewタスクのスマートタグでテンプレートの編集を選択し表示名:EditItemTemplateを選択しました。

    8.その後、yubin_bangoテキストボックスのスマートグリフをクリックしても「DataBindingsの編集...」が表示されるだけで「エクステンダの追加」が表示されません。。。。。。[疑問]

     

    なお、下記のように手動でコーディングはできます。

    <br />

                yubin_bango:

                <asp:TextBox ID="yubin_bangoTextBox" runat="server"

                    Text='<%# Bind("yubin_bango") %>' />

                    <ajaxToolkit:FilteredTextBoxExtender ID="yubin_bangoTextBox_FilteredTextBoxExtender" Enabled ="true" targetcontrolid="yubin_bangoTextBox" runat="server" />

                <br />

    この時、テキストボックスのスマートタグは次のようになります。

    DataBindingsの編集...[1]

    DataBindingsの編集...[2]

    エクステンダの削除...

     

    [1]をクリックして表示される「yubin_bangoTextBox Databindings」画面においてバインド可能プロパティとして表示されるのはEnabled,ReadOnly,Text,Visibleの4つですが[2]ではVisibleだけです。なぜ2つになるのかも不思議です。[疑問]

     

    ソース画面ではツールボックスの「AJAX Control Toolkit」からFilterdTextExtenderを追加できますが以下のようになります。そのまま使えません。[疑問]

     

    yubin_bango:

                <asp:TextBox ID="yubin_bangoTextBox" runat="server"

                    Text='<%# Bind("yubin_bango") %>' />

                <ajaxToolkit:FilteredTextBoxExtender ID="FilteredTextBoxExtender1" runat="server">

                </ajaxToolkit:FilteredTextBoxExtender>

                <br />

     

    以上まとめると疑問点は3つです

        「エクステンダの追加」が表示されません

        手動でエクステンダを追加するとDataBindingsの編集が2つでる

        ソース画面でFilterdTextExtenderを追加できますそのまま使えない

     

    長々となりましたが宜しくお願いします

     

     

     


    わかばマーク
    2010年4月25日 12:28
  • こちらで同じ手順で試してみましたが,正常にエクステンダーの追加が表示され,ドラッグでも追加できました。
    (Visual Studio 2008 Team Suite SP1 + Windows 7 Enterprise 64bit)

    ・プロジェクトの新規作成から ASP.NET Webアプリケーションプロジェクトを作成
    ・ToolBoxにAjax Control Toolkitのコントロールを配置(一度Toolboxをリセットしてから任意の場所のAjaxControlToolkit.dllを参照)
    ・Default.aspxにテキストボックスを配置
    といった単純な手順でもエクステンダーの追加がでない場合は,Visual Studioの構成に問題があるかもしれません。

    設定のリセットやセーフモードでの起動を試してみてください。
    http://msdn.microsoft.com/ja-jp/library/ms241273(v=VS.90).aspx

    http://msdn.microsoft.com/ja-jp/library/ms241278(v=VS.90).aspx

    http://msdn.microsoft.com/ja-jp/library/ms241276(v=VS.90).aspx

    2010年4月27日 7:44
  • 回答いただきありがとうございます

    私の環境は VS 2008 Professional+Vista Ultimateです。

    設定のリセットを行いました。エクステンダーの追加は出ないのですが、ご指摘のようにVisual Studioの構成に問題があるように思います。

    というのは、「デバックなしで実行」時に設定のリセット前には出なかった「Webページ」の画面が出てきて 「AjaxControlToolkit requires ASP.NET Ajax 4.0 scripts. Ensure the correct version of the scripts are referenced. If you are using an ASP.NET ScriptManager, switch to the ToolkitScriptManager in AjaxControlToolkit.dll.」のエラーが表示されるからです。 「'$common' は Null またはオブジェクトではありません。」のようなエラーも出ます。以前のエラーは画面いっぱいにスクリプトが出力されていました。

    なお Devenv.exe /SafeModeや Devenv.exe /ResetSkioPkgsは管理者権限でないとデバッグそのものができないので確認できませんでした。

    再インストールを実行してみる価値はあるのでしょうか。


    わかばマーク
    2010年4月27日 15:37
  • こんにちは、TasCal さん。

    エラー内容から、バージョンが違っていたりするのでしょうか。Visual Studio 2010 Beta などがインストールされているなどはないでしょうか。
    同じエラーのものを探してみたのですが、以下のように変更することで対応できたというものがありました。
    解決しなかったらごめんなさい。

    http://stackoverflow.com/questions/1832533/trouble-switching-to-the-beta-ajaxcontroltoolkit

    http://forums.asp.net/t/1529516.aspx

    変更前
    <asp:ScriptManager ID="ScriptManager1" runat="server" />

    変更後
    <
    cc1:ToolkitScriptManager ID="ToolkitScriptManager1" runat="server"></cc1:ToolkitScriptManager>

    別の環境でも同じように起こるかというところも気になりました。
    ほかにもどなたか同じ問題に遭遇していらっしゃる方がいらっしゃいましたら、ぜひ情報をお寄せください。よろしくお願いします。
    それではまた。

    2010年4月30日 9:17
  • 回答いただきありがとうございます。

    >エラー内容から、バージョンが違っていたりするのでしょうか。

    バージョンはAjaxControlToolkit.Binary.NET35.zipをしようしているので間違いはないと思います

    Visual Studio 2010 Beta などがインストールされているなどはないでしょうか。
    2010はインストールしていません。MSDN Library for Microsoft Visaul Studio 2008 Express Editionはインストールされています。

    教えていただいた件をさっそく試してみました。残念ながら上記を適用できませんでした。変更した箇所で「認識されないタグプレフィックスまたはデバイスフィルタ'cc1'です」が出力されてしまいます

    修正をかけたマスターページは以下のようなものです。

    <%@ Master 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>Web予約管理システム</title>
        <asp:ContentPlaceHolder id="head" runat="server">
        </asp:ContentPlaceHolder>
        <style type="text/css">
            .style1
            {
                width: 1078px;
            }
        </style>
        <link href="StyleSheet.css" rel="stylesheet" type="text/css" />
    </head>
    <body>
        <form id="form1" runat="server">
        <div>
            <table cellpadding="0" cellspacing="0" class="style1">
                <tr>
                    <td>
                        <asp:Image ID="Image1" runat="server" ImageUrl="~/images/title4.gif" />
                    </td>
                    <td>
                        <asp:HyperLink ID="HyperLink1" runat="server" ImageUrl="~/images/back.gif">HyperLink</asp:HyperLink>
                        <cc1:ToolkitScriptManager ID="ToolkitScriptManager1" runat="server"
                            EnableScriptGlobalization="True">
                        </cc1:ToolkitScriptManager>
                    </td>
                </tr>
            </table>
            <br />
            <asp:ContentPlaceHolder id="ContentPlaceHolder1" runat="server">
           
            </asp:ContentPlaceHolder>
        </div>
        </form>
    </body>
    </html>

    上記を実行する前にVisual Studioのレジストリを以下のように初期化しました。

    レジストリエディタを起動して
    HKEY_CURRENT_USER\Software\Microsoft\VisualStudio の中にある
    9.0 というキーとそのサブキーをすべて削除する。

    上記はhttp://www.hiro3-soft.com/blog/post/2009/04/13/VS2005-2008-Enviroment-Reset.aspxを参考にさせていただきました。

    また、更に困ったことには新しいWebページの追加ができないことです。次のようなメッセージが出力されてしまいます

    C:\Users\パピー¥AppData¥Local¥Temp\drcgqzan.ish\logon.aspxへのアクセスが拒否されました

    いよいよ八方塞がりのような状況に陥ってしまいました。

     


    わかばマーク
    2010年4月30日 13:55
  • 自己レスです。

    >また、更に困ったことには新しいWebページの追加ができないことです。次のようなメッセージが出力されてしまいます

    上記は管理者権限でVisual Studioを起動させていなかったのかも知れません。

    >いよいよ八方塞がりのような状況に陥ってしまいました。

    この際と思ってOSのバージョンアップ(Vista→7)を行い、Visual Studio 2008をアンインストール後、再インストールしました。

    これを行ってもテキストボックスのスマートタググリフに「エクステンダーの追加」は出ませんでした

    更にVisual Studio 2010評価版をダウンロードしてみました。

    さすがに2010では最初からAjax ToolKitはついていました(次のサイトからインストールは必要なようですがhttp://www.microsoft.com/web/gallery/install.aspx?appsxml=&appid=ASPNET;NETFramework4;MVC2;NETEXTENSIBILITY;ISAPIExtensions;ISAPIFilters;StaticContentCompression;DefaultDocument;DirectoryBrowse;HTTPErrors;HTTPLogging;LoggingTools;RequestMonitor;IISManagementConsole;RequestFiltering;SQLExpress;VWD2010;StaticContent

    私の場合、2010のツールボックスにおいてAjax ToolKitはテキストアイコンで表示されます。これはまだ何かし忘れていることがあるのかもしれません。

    さて、ツールボックスからFilterdTextExtenderを選んでテキストボックスにドラッグ&ドロップはできるようなのですが(でも進入禁止マークが出ないだけであってコードが追加されないのでできないのと同じ)、テキストボックスのスマートタググリフには「エクステンダーの追加」は出ませんでした。


    わかばマーク
    2010年5月4日 13:42
  • 自己レスです。

    本件、Ajax Toolkitを.NET4.0で入れ替えたら解決しましたので報告します。

    手順は以下のようです。

    1.AjaxサイトよりAjaxControlToolkitBinary.NET4.zipをダウンロード

    2.上記をD\Visual Studio 2010\AjaxToolkitに解凍

    3.上記フォルダのAjaxControlToolkitSampleSite.zipを解凍

    4.上記フォルダ中のBinフォルダをコピーして\inetpub\WebYoyaku\Binに貼り付け(前のを削除し貼り付け)

    5.VB2010のツールボックスのAjaxToolkitタブを削除

    6.その後、ツールボックスにあらたなタブAjax Control Toolkitを作成

    7.追加されたAjax Control Toolkitタブ内で右クリックして「アイテムの選択」をクリック

    8.「参照」をクリック

    9.\inetpub\WebYoyaku\Binフォルダに含まれるAjaxControlToolkit.dllを選択し「開く」をクリック

    10.「OK」を選択するとツールボックスにタブコントロールが(以前はテキストアイコンであったが今度はアイコンで)追加された

    11.その後、(以前は表示されなかった)TextBoxのスマートタググリフに「エクステンダーの追加」が表示された

    12.「エクステンダーの追加」により「FilterTextBoxExtender」の選択が可能となった

    以上です。これまで「エクステンダーの追加」がでなかった原因は依然としてはっきりしませんが、構成の問題であったように思います


    わかばマーク
    • 回答としてマーク TasCal 2010年5月16日 2:21
    2010年5月16日 2:20
  • はじめまして  同じ現象で回避方法がわかったので参考に。

     

    こちらはtoolkit3.0を3.5にアップしたときに同じ現象が出ました。

    使用環境はVS2008です。

    結論としては、ツールバーに3.5のみを追加するとおかしくなるみたいで、

    その状態で そのまま3.0を別のタブを追加するとかして更に追加するとエクステンダーの追加が

    復活してできるようになるみたいです。

     

    VSはいろいろバグが有りますが、これもそうみたいですね。

    • 回答としてマーク TasCal 2011年6月11日 13:07
    2011年6月10日 6:02
  • SDC_nappa さん

    回避方法を教えていただきありがとうございました。

    今はVS2010を使用しているので問題はないのですが、やはりうまく行かなかったものは気になっていました。

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


    わかばマーク
    2011年6月11日 13:12
  • 同様の現象で試行錯誤した挙句、Visual Studio 2008 のSP1をインストすることにより、解決しました。
    新しい環境だったので最初から3.5だけを入れていたのですが、3.0を入れると治る書き込みがありましたので、3.0のkitをダウンロード使用したらcodeplexが繋がらず試すことができませんでした。また、構成が壊れてしまっていたのが原因のようですが、Devenv.exe /ResetSkioPkgsだけでは治りませんでした。以上参考まで

    • 回答としてマーク TasCal 2012年2月13日 12:09
    2012年2月12日 0:06
  • 回答いただきありがとうございました。やはりフォーラムは頼りになります。


    わかばマーク

    2012年2月13日 12:13