none
VS2005 AJAX MaskedEditExtenderの動作不具合?について RRS feed

  • 質問

  • 開発環境

    VS2005

    ASP.NET(VB)

    AjaxControlToolkit.dll(Ver1, 0, 20229, 0)

    上記環境でMaskedEditExtenderを配置し

    MaskType=Number

    InputDirection=RightToLeft

    Mask="9,999"

    と設定しているんですが、入力で 『1』 と入力し、フォーカスをはずした際は

    そのままなんですが、再度フォーカスをあてると 『1,000』 と値が変わってしまいます。

    ただし、Maskに"999.999.999" や小数を含むものを設定するとフォーカスをあてた際も入力値と

    同じ値となります。ネットで同じ現象がないかは調査したんですが、回答が見つからず

    今回ここへ質問させていただきました。

    対応方法がわかる方がいらっしゃいましたら教えていただけると助かります。

    【ソース】------------------------------------------

    <cc1:MaskedEditExtender ID="objMEE" runat="server" TargetControlID="txtBaseNum" MaskType=Number InputDirection=RightToLeft Mask="9,999" >
    </cc1:MaskedEditExtender>
    <asp:TextBox ID="txtBaseNum" runat="server" Style="; left: 0px; top: 0px;"></asp:TextBox>

    ---------------------------------------------------

    2013年1月16日 7:00

回答

  • Visual Studio 2005は古く、サポートも終了しています。調べたところVisual Studio 2005向けには2008年2月リリースのVersion 1.0.20229が最新です。それ以降のリリースは.NET Framework 3.5 / Visual Studio 2008が必要になります。

    最新の開発環境に移行するか、Visual Studio 2005を使い続けるのなら、ソースコードも公開されていることですし、ご自身で修正されるとよいでしょう。

    # 名前を呼び捨てにされるのは気持ちのいいものではありません。

    • 回答の候補に設定 佐伯玲 2013年1月18日 4:40
    • 回答としてマーク masa12345 2013年1月21日 23:48
    2013年1月17日 0:35
  • > 試された(バージョン 3.5.5116.0)のダウンロードはどこでされてますか?

    3.5.5116.0 は November 2011 Release です。

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

    Web サーバーで .NET 2.0 しか使えない場合は Version 1.0.20229 を使わざるを得ませんが、そこのところはどうなのでしょう?

    Version 1.0.20229 を使わざるを得ない場合は、問題の部分のクライアントスクリプトを自分で修正するほか解決策はなさそうです。

    • 回答の候補に設定 佐伯玲 2013年1月18日 4:40
    • 回答としてマーク masa12345 2013年1月21日 23:48
    2013年1月17日 13:08

すべての返信

  • > 入力で 『1』 と入力し、フォーカスをはずした際は
    > そのままなんですが、再度フォーカスをあてると 『1,000』
    > と値が変わってしまいます。

    バージョンが違いますが、こちら(バージョン 3.5.5116.0)で試した限りそういうことはなかったです。ちなみに、試したコードは以下の通りです。

    1 を入力してフォーカスを外し、再度フォーカスを当てると _,__1 と表示されます。

    <%@ Page Language="C#" %>
    <%@ Register Assembly="AjaxControlToolkit" 
        Namespace="AjaxControlToolkit" 
        TagPrefix="asp" %>
    
    <!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">
        <asp:ToolkitScriptManager ID="ToolkitScriptManager1" runat="server">
        </asp:ToolkitScriptManager>
        <div>
            <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
            <asp:MaskedEditExtender ID="TextBox1_MaskedEditExtender" 
                runat="server" 
                Enabled="True" 
                TargetControlID="TextBox1" 
                MaskType="Number" 
                InputDirection="RightToLeft" 
                Mask="9,999">
            </asp:MaskedEditExtender>
        </div>
        </form>
    </body>
    </html>

    > AjaxControlToolkit.dll(Ver1, 0, 20229, 0)

    バージョンにの記述が変だと思うのですが・・・ 何にせよ、かなり古そうですが、最新バージョンで試したらどうなりますか


    • 編集済み SurferOnWww 2013年1月16日 14:19 誤字訂正
    2013年1月16日 14:17
  • かなり昔のことなのでうろ覚えですが、Visual Studio 2005向けに提供されたASP.NET Ajax 1.0なのでしょう。Visual Studio 2008辺りでWebサイトなどのプロジェクトを作るとweb.configにアセンブリリダイレクトするよう書き込まれると思いますが、アレの元のバージョンです。

    バージョンの記述は…なんでしょう、Visual Studioのリソースエディタはバージョン番号をカンマ区切りで表示しますね。

    2013年1月16日 15:18
  • 書き込みありがとうございます。

    Version は Version 1.0.20229です。

    佐祐理さんの書き込みにあるように、
    Visual Studioで確認したVerを記述しましたので
    Ver1, 0, 20229, 0と書いています。

    ToolkitのVersionについてはあまり理解せずに
    VS2005用のと記述のあったVersion 1.0.20229を
    使って開発しているのですが、
    最新のVersionでも動作するんでしょうか?

    わかるようであれば教えてもらえると助かります。

    私の方でも最新Versionで動作するか等も確認してみようと
    思います。

    試された(バージョン 3.5.5116.0)のダウンロードはどこでされてますか?

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

    サイトで探しきれませんでした。

    良かったら教えていただくと助かります。


    • 編集済み masa12345 2013年1月17日 0:38
    2013年1月16日 23:53
  • Visual Studio 2005は古く、サポートも終了しています。調べたところVisual Studio 2005向けには2008年2月リリースのVersion 1.0.20229が最新です。それ以降のリリースは.NET Framework 3.5 / Visual Studio 2008が必要になります。

    最新の開発環境に移行するか、Visual Studio 2005を使い続けるのなら、ソースコードも公開されていることですし、ご自身で修正されるとよいでしょう。

    # 名前を呼び捨てにされるのは気持ちのいいものではありません。

    • 回答の候補に設定 佐伯玲 2013年1月18日 4:40
    • 回答としてマーク masa12345 2013年1月21日 23:48
    2013年1月17日 0:35
  • 書き込みありがとうございます。

    そうなんですね。。。

    Visual StudioのVesionをあげたいんですが

    会社の事情もあってそれができないんです。

    もう少し頑張ってみてどうしようもない場合は

    他の方法も考えてみようと思ってます。

    ># 名前を呼び捨てにされるのは気持ちのいいものではありません。

    大変失礼しました。 

    あわてて書き込みしてしまって

    さんづけに編集させていただきました。

    2013年1月17日 0:45
  • > 試された(バージョン 3.5.5116.0)のダウンロードはどこでされてますか?

    3.5.5116.0 は November 2011 Release です。

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

    Web サーバーで .NET 2.0 しか使えない場合は Version 1.0.20229 を使わざるを得ませんが、そこのところはどうなのでしょう?

    Version 1.0.20229 を使わざるを得ない場合は、問題の部分のクライアントスクリプトを自分で修正するほか解決策はなさそうです。

    • 回答の候補に設定 佐伯玲 2013年1月18日 4:40
    • 回答としてマーク masa12345 2013年1月21日 23:48
    2013年1月17日 13:08
  • SurferOnWwwさん、佐祐理さん
    ありがとうございました。

    色々調べては見たんですが難しいそうなので

    Visual StudioのVersionをあげることを検討しようと思います。

    2013年1月21日 23:50