Javascript 将带有特殊字符的值传递给函数onclick事件

Javascript 将带有特殊字符的值传递给函数onclick事件,javascript,jquery,Javascript,Jquery,我绞尽脑汁想弄明白为什么我不能将带有特殊字符的值传递给函数 在onclick事件中,该值显示为ok,但在函数中接收该值时已删除特殊字符\ 变量值:app\xpto 函数中的接收:appxpto 如何接收带有特殊字符的完整值 有人能帮我一下吗 onclick="changeUserPictureInParent('http://mysite?f=@p.num'); ToUser(\'@ViewBag.ID.ToString() \',\'@ViewBag.temp.ToStri

我绞尽脑汁想弄明白为什么我不能将带有特殊字符的值传递给函数

在onclick事件中,该值显示为ok,但在函数中接收该值时已删除特殊字符\

变量值:app\xpto

函数中的接收:appxpto

如何接收带有特殊字符的完整值

有人能帮我一下吗

onclick="changeUserPictureInParent('http://mysite?f=@p.num'); 
         ToUser(\'@ViewBag.ID.ToString() \',\'@ViewBag.temp.ToString()\', \'@Html.Raw(p.Name)\');">


function ToUser(id, t, name) {
}

注意:我正在使用剃须刀引擎

正常。我找到了解决问题的办法

而是使用onclick事件。我使用jquery。单击事件

将变量值用作数据属性,然后单击从数据属性中选择值

像这样

<div class="change" data-attr="@Html.Raw(Name)"></div>


 $(".change").click(function () {
                var a = $(this).attr("username");
            });

不惜一切代价避免使用内联javascript,这可能会导致安全问题,也是一种反模式。为什么要逃避“简单使用ToUser”@ViewBag.ID.ToString'、“@ViewBag.temp.ToString”、“@Html.Rawp.Name”@萨帕尔。因为这是我尝试使用的几种方法之一。。如果我只是简单地使用它,我会在我的函数中接收到不带字符\@fmsf的变量值,我同意你关于内联js的看法,但为什么它会导致安全问题?@albanx很容易在那里注入东西。一个好的实践是禁用所有内联脚本