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 回答