我有一个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')工作正常。为什么这会失败?
谢谢,
萨钦
答案 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>
}