C# 在Javascript函数中为参数值使用特殊字符时获取Javascript错误

C# 在Javascript函数中为参数值使用特殊字符时获取Javascript错误,c#,javascript,asp.net,C#,Javascript,Asp.net,我在JavaScript中有以下函数,我使用它在ASP.Net中调用PageMethod 问题是,当我为参数searchStringVal传递一个类似xy\23或2%的字符串时,我会得到一个JavaScript错误。不管怎样,我能处理这类问题吗?这个参数最终被传递到我的ASP.Net页面中的一个静态服务器端方法,这进一步加剧了这个问题。因此,我正在寻找在这种情况下使用的最有效的方法 一种解决方案可能是用JavaScript编码字符串,但我需要能够在ASP.NETC#代码中对其进行解码,而不会丢失

我在JavaScript中有以下函数,我使用它在ASP.Net中调用
PageMethod

问题是,当我为参数
searchStringVal
传递一个类似
xy\23
2%
的字符串时,我会得到一个JavaScript错误。不管怎样,我能处理这类问题吗?这个参数最终被传递到我的ASP.Net页面中的一个静态服务器端方法,这进一步加剧了这个问题。因此,我正在寻找在这种情况下使用的最有效的方法

一种解决方案可能是用JavaScript编码字符串,但我需要能够在ASP.NETC#代码中对其进行解码,而不会丢失字符串的原始值

function CallPageMethod(startRowIndex, searchStringVal) {        
    if (newVal != searchStringVal) {
        //document.getElementById('divMessage').style.visibility = "hidden";
        return;
    }

    start = new Date();
    PageMethods.GetData(startRowIndex, tableView.get_pageSize(), searchStringVal, updateGrid, onError, searchStringVal);
}

最新更新:我的问题由两个不同的人回答。我如何将这两个问题都标记为答案?我最终使用了Vinay推荐的Javascript编码方法,然后使用Uri.UnescapeDataString方法在C#中取消编码

如果您得到一个未终止的字符串常量,那么它与您输入字符串的方式有关

键入“2xy\”将被解释为2xy,然后是转义双引号。然后绳子就被破坏了


尝试“2xy\\”输入字符串2xy \-这将使用反斜杠转义第二个反斜杠,并将被识别为您试图输入的字符串。

这是一个javascript错误,浏览器窗口左下角显示一个黄色感叹号,当我单击它时,它会显示“未终止的字符串常量”。我指定的值为2xy\Sunil[参考此链接][1]希望您正在查找此链接。[1] :我将如何处理2%之类的内容,因为这也会产生javascript错误。这会产生什么错误?“2%”不应给出未终止的字符串常量错误。我看不到javascript错误,但似乎有一些错误,因为页面没有响应。这是我输入2%的时候。对不起,除非你有更多关于发生了什么的信息,否则我想我无法帮助跟踪2%的情况。也许试着在那里设置一个断点,然后单步走过去看看发生了什么?是的,我稍后会告诉你。谢谢你的及时帮助。