0

私の ASP.NET MVC 3 プロジェクトでは、マスター ページに文字エンコーディングを設定しました。

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

それから、私の見解では、

    <script type="text/javascript" charset='UTF-8'>
        $(function () {
            $('#my-btn').click(function () {
                  $(this).val('@MyProject.Resources.OrderButton');
            });
        });
    </script>

の代わりに値を与えるものは何Zam&#243;wですかZamów。リソース ファイルの最初の行は次のとおりです。

<?xml version="1.0" encoding="utf-8"?>

それを修正する方法はありますか?

4

1 に答える 1

3

サーバー側の値を JavaScript 変数に渡す正しい方法は次のとおりです。

var value = @Html.Raw(Json.Encode(MyProject.Resources.OrderButton);
$(this).val(value);

これにより、完全に安全で正しくエンコードされたコードが出力され、javascript 関数に渡されます。これにより、文字列に 、改行などの文字が含まれている場合も適切に処理され'、JavaScript コードが破損する可能性があります。

また、一部の文字が HTML であるかエンコードされているかを気にする必要はありません。重要なことは、ブラウザまたは HTML 準拠のクライアントが正しく消費できるように、それらが正しくエンコードされることです。

于 2013-02-22T15:38:59.257 に答える