none
Visual Studio International Feature Pack 2.0のYomiganaExtenderコントロールで「undefined」が返ってくる RRS feed

  • 質問

  • VisualStudio2008(ASP.NET(VB))
    OS:Window10 Pro
    Webサーバ:IIS
    DB:SQLserver2014
    の環境でWebアプリケーションの開発を行っております。
    画面上に「氏名(漢字)」と「氏名(カナ)」のテキストボックスがあり、「氏名(漢字)」を入力
    すると「氏名(カナ)」に読み仮名がカタカナで自動入力される仕様とするため、Visual Studio International Feature Pack 2.0
    のYomiganaExtenderを使用し、

    YomiganaExtenderの使い方のサイトを参考にコントロールの設定を行いましたが、「氏名(漢字)」に日本語を入力してロストフォーカスすると
    「氏名(カナ)」に「undefined」と表示されてしまいます。
    以下がソースになります。
    どこが間違っているのかご教授願えないでしょうか。
    よろしくお願いいたします。

    ・Main.aspx
    <%@ Page Language="vb" AutoEventWireup="false" CodeBehind="Main.aspx.vb" Inherits="aaa.xxx.Main" %>
    <%@ Register assembly="YomiganaExtender" namespace="Microsoft.International.AjaxControl" tagprefix="cc1" %>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    ・・・
        <asp:ScriptManager ID="ScriptManager1" runat="server">
        </asp:ScriptManager>
    ・・・
        <tr>
            <td class="td_edit_title" style="white-space: nowrap" Width="200px">
                氏名(カナ)
            </td>
            <td class="td_edit">
                <asp:TextBox class="text_Kanji" ID="txt_NameK" TabIndex="6" runat="server" Columns="60" MaxLength="30"></asp:TextBox>
            </td>
        </tr>
        <tr>
            <td class="td_edit_title" style="white-space: nowrap" Width="200px">
                氏名(漢字)
            </td>
            <td class="td_edit">
                <asp:TextBox class="text_Kanji" ID="txt_NameN" TabIndex="8" runat="server"
                    Columns="60" MaxLength="30" AutoPostBack="false"></asp:TextBox>
                <cc1:YomiganaExtender ID="txt_NameN_YomiganaExtender" runat="server"
                    ServicePath="../Com/YomiganaExtend.asmx" TargetBindingControl="txt_NameK"
                    TargetControlID="txt_NameN" TextCapturedPreferredConversion="ToKatakana" />
            </td>
        </tr>
    ・・・

    ・YomiganaExtend.asmx
    <%@ WebService Language="vb" CodeBehind="../bin/YomiganaExtender.dll" Class="Microsoft.International.YomiganaExtender.YomiganaService" %>

    (フォルダ構成)
    ・pj - bin - YomiganaExtender.dll
         - Com - YomiganaExtend.asmx
         - pg  - Main.aspx

    2019年8月7日 9:26

すべての返信

  • 全然詳しくないので外してそうですが、気になった点です。


    参考にさせていただいたサイト
    https://blogs.msdn.microsoft.com/dd_jpn/2009/06/18/yomiganaextender/
    https://wiki.dobon.net/index.php?.NET%A5%D7%A5%ED%A5%B0%A5%E9%A5%DF%A5%F3%A5%B0%B8%A6%B5%E6%2F102

    ・参照設定されているかどうかとか
     YomiganaCommon
     YomiganaExtender
     YomiganaFramework
    ・「<%@ WebService Language="C#" CodeBehind="~/bin/YomiganaExtender.dll"」と、チルダ「~」と親ディレクトリ「..」の違い
    ・「IsYomiganaEmbeddingAllowed プロパティをFalse」のある無し
    • 回答としてマーク minusplus 2019年8月8日 1:43
    • 回答としてマークされていない minusplus 2019年8月8日 1:43
    2019年8月7日 13:38
  • YomiganaExtenderコントロールとかは触ったこともないのでハズレかもしれませんが・・・

    コードを見ると ASP.NET AJAX を利用して、TextBox からレンダリングされる html コードの input type="text" のイベント(onchange かな?)で JavaScript で Web サービスを非同期呼び出しして、その応答(よみがな)を表示しているように思えます


    Fiddler を使って要求・応答をキャプチャして、その中身が期待通りかを調べてみてはいかがでしょう。上記の想像が当たっていれば、そこにヒントがありそうな気がします。 

    2019年8月7日 23:21
  • 回答ありがとうございます。

    参考サイトの1つ目のを見て作成していましたが、2つ目のサイトの

    WebServiceのClassの設定を使用したところ、正常に動作いたしました。

    本当に助かりました。

    2019年8月8日 1:38