放入字段的文本会产生奇怪的字符

时间:2012-09-18 15:31:08

标签: javascript html razor

我有一个JavaScript函数,因此我放了一些文本

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

现在,MaxBudget是'£100-£199'但是出于某种原因,当我执行这段代码时,我会在文本框中看到它。

enter image description here

我已经检查了调试器,传递给PopulateFormInput的值是'£100-£199'并且静态地将该值传递到另一个地方(即传递硬编码文本'£100-£199')工作正常。为什么这会失败?

谢谢,

萨钦

1 个答案:

答案 0 :(得分: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>
                }