将单引号或双引号返回到Javascripts Func

将单引号或双引号返回到Javascripts Func,javascript,asp.net,eval,Javascript,Asp.net,Eval,我正在做一个小函数,当用户单击GridView上的链接按钮时,GridView中的数据将出于某种目的被带到javascripts函数中。好吧,除了数据中出现单引号或双引号(Msg)外,其他一切都正常。我尝试在Eval(“Msg”)上使用Replace函数,但它不允许我这样做。有什么理想吗 我的代码片段: <scripts> function MyJFunc(Msg) { alert(Msg); } </scripts> <It

我正在做一个小函数,当用户单击GridView上的链接按钮时,GridView中的数据将出于某种目的被带到javascripts函数中。好吧,除了数据中出现单引号或双引号(Msg)外,其他一切都正常。我尝试在
Eval(“Msg”)
上使用Replace函数,但它不允许我这样做。有什么理想吗

我的代码片段:

<scripts>

     function MyJFunc(Msg) {
        alert(Msg);
    }

</scripts>

<ItemTemplate>
    <a onclick='<%# String.Format("javascript:MyJFunc(""{0}"");", Eval("Msg"))%>' href="javascript:void(0);">Show Message</a>
</ItemTemplate>

函数MyJFunc(Msg){
警报(Msg);
}

您必须使用转义功能

我需要您的案例:使用
HttpUtility.HtmlEncode

<a onclick='<%# String.Format("javascript:MyJFunc(""{0}"");", HttpUtility.HtmlEncode(Eval("Msg")))%>' href="javascript:void(0);">Show Message</a>


我试过了,但没有工作……我的项目中是否需要包含任何其他JS文件?什么不工作?你有什么错误吗?这是服务器端代码。它正在替换唯一的html字符。这里有一个例子:保持不变,Eval(“Msg”)无法传递给函数MyJFunc();