Ajax调用未通过Url.Content从视图将“&”传递给控制器。
例如,如果testIdVal值为“ Interface Class&Function”,则来自以下代码。仅将“接口类”传递给控制器,而忽略“&功能”。
$("#testdiv").data("kendoWindow").refresh({
url: "@Url.Content("~/Customer/Test?Id=")" + testIdVal + "&Flag=T"
}).center().open();
答案 0 :(得分:0)
&
用作URL查询字符串中的定界符。如果要使用值&
本身,则需要对其进行编码。
// JavaScript:
encodeURIComponent("&");
// Output: %26
因此,您需要将testIdVal
设置为“接口类%26功能”。
$("#testdiv").data("kendoWindow").refresh({
url: "@Url.Content("~/Customer/Test?Id=")" + encodeURIComponent(testIdVal) + "&Flag=T"
}).center().open();
查询字符串采用?var1=val1&var2=val2&var3=var3 ...
的形式。如果不对&符号进行编码,则任何解释URL的人都会认为您正在尝试声明一个名为“ Function”的新变量。