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

Javascript 输入字段的文本会产生奇怪的字符,javascript,html,razor,Javascript,Html,Razor,我有一个JavaScript函数,在其中输入一些文本 @{ var price = @HttpUtility.UrlDecode(Request.QueryString["MaxBudget"]); <script type="text/javascript"> PopulateFormInput('SearchMaxBudget', '@price', 'modal-search-budget-box'); </script> } @{

我有一个JavaScript函数,在其中输入一些文本

@{
   var price = @HttpUtility.UrlDecode(Request.QueryString["MaxBudget"]);
   <script type="text/javascript">
      PopulateFormInput('SearchMaxBudget', '@price', 'modal-search-budget-box');
   </script>
}
@{
var price=@HttpUtility.UrlDecode(Request.QueryString[“MaxBudget”]);
PopulateForInput('SearchMaxBudget','@price','modal search budget box');
}
现在,MaxBudget是'100-199英镑',但由于某种原因,当我执行这段代码时,我在文本框中得到了它

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

谢谢


Sachin

这是一个解决方案,适合任何感兴趣的人

@{
                    <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>
                }
@{
PopulateForInput('SearchMaxBudget',getParameterByName('MaxBudget'),'modal search budget box');
函数getParameterByName(名称){
名称=名称。替换(/[\[]/,“\\\[”)。替换(/[\]]/,“\\\]”);
var regexS=“[\\?&]”+name+“=([^&\\]*)”;
var regex=新的RegExp(regexS);
var results=regex.exec(window.location.search);
如果(结果==null)
返回“”;
其他的
返回组件(结果[1]。替换(/\+/g,”);
}
}