0

このようにテキストを入力するJavaScript関数があります

@{
   var price = @HttpUtility.UrlDecode(Request.QueryString["MaxBudget"]);
   <script type="text/javascript">
      PopulateFormInput('SearchMaxBudget', '@price', 'modal-search-budget-box');
   </script>
}

現在、MaxBudget は「£100-£199」ですが、何らかの理由でこのコードを実行すると、テキスト ボックスにこれが表示されます。

ここに画像の説明を入力

デバッガーでチェックインしたところ、PopulateFormInput に渡された値は '£100-£199' であり、この値を別の場所に静的に渡す (つまり、ハードコードされたテキスト '£100-£199' を渡す) と正常に動作します。なぜこれが失敗するのですか?

ありがとう、

サチン

4

1 に答える 1

0

これが解決策です、興味のある人のために

@{
                    <script type="text/javascript">
                        PopulateFormInput('SearchMaxBudget', getParameterByName('MaxBudget'), 'modal-search-budget-box');

                        function getParameterByName(name) {
                            name = name.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]");
                            var regexS = "[\\?&]" + name + "=([^&#]*)";
                            var regex = new RegExp(regexS);
                            var results = regex.exec(window.location.search);
                            if (results == null)
                                return "";
                            else
                                return decodeURIComponent(results[1].replace(/\+/g, " "));
                        }
                    </script>
                }
于 2012-09-18T16:14:18.267 に答える