0

私のアプリケーションでは、uploadify を使用してファイルをアップロードします。すべては、標準ユニコード az 0-9 で完璧に動作します。

ここにサンプルがあります。

    <script type="text/javascript" charset="utf-8">
        $(window).load(
                   function () {
                       $('#fileuploaderImage').fileUpload({
                           uploader: '/Scripts/uploader.swf',
                           script: '@Url.Action("Test", "Test")',
                           scriptData: { ProjectName: @Model.ProjectName },
                           cancelImg: '/Images/cancel.png',
                           auto: true,
                           multi: false,
                           folder: '/uploads',
                           fileDesc: 'Image',
                           sizeLimit: '200000000',
                           fileExt: '*.png;',
                           'onComplete': function (event, ID, fileObj, response, data) {
                               $("#img-path").val(response);
                           }
                       });

                   }
                  );    
    </script>

したがって、ScriptData を使用して ProjectName プロパティをコントローラーに渡すことがわかります。これは機能します。ただし、ProjectName が "MMMÅØÆÅÅØÆ" のような場合、コントローラーのプロパティは "MMM" のみを返し、残りの文字列は消えます。誰も同じ問題を抱えていましたか?

4

1 に答える 1

1

これはエンコードの問題だと思います。

次のように使用します。

scriptData: { ProjectName: encodeURIComponent('@Model.ProjectName') },

これで問題が解決するはずです。

于 2012-05-19T18:31:51.653 に答える