c# - Javascript/ASP.NET MVC 4 - 在 Javascript 中使用 C# 字符串

标签 c# javascript asp.net-mvc string

我需要能够在 JavaScript 中访问我的 C# 代码中保存的字符串。为了进行测试,我尝试在 JavaScript 中显示带有 C# 字符串的消息框(我使用此字符串文字和消息框作为示例场景):

alert(<%: "TEST" %>);

运行此代码时,不会显示任何消息框。另一方面,会显示一个消息框,其中包含以下代码:

alert(<%: 6 %>);

为什么我可以使用整数而不是字符串?有什么办法解决这个问题吗?

谢谢。

最佳答案

您需要在字符串两边加上引号;否则,浏览器会看到 alert(TEST); ,这是不正确的。为防止跨站脚本攻击,还需要对特殊字符进行适当的转义。来电 HttpUtility.JavaScriptStringEncode 让你做这两件事:

alert(<%= HttpUtility.JavaScriptStringEncode("TEST", true) %>);

注意:如果此 JavaScript 片段出现在 HTML 属性内,如 onclick ,您可能需要更改 <%=<%:这样双引号也是 HTML 编码的。

关于c# - Javascript/ASP.NET MVC 4 - 在 Javascript 中使用 C# 字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17117152/

相关文章:

c# - 有什么快速方法可以将简单的身份验证添加到一些 ASP.NET MVC 路由,而无需实现整个成员(member)提供程序 jazz?

c# - 如何验证多个对象属性,然后在我的表单元素之一上应用带有工具提示的样式?

c# - C#.NET 和 Xamarin 移动应用程序共享代码库?

c# - 将 C# 字符串转换为 C 字符数组

c# - ??运算符(operator) - 在一个类轮条件下使用

javascript - 为什么从 Asar 复制的文件是只读的?

javascript - 当用户尝试离开我的网页时创建弹出窗口并获取结果

javascript - 在JSON中找到最小的 child

c# - 在 ASP.NET MVC3 模型绑定(bind)器中使用依赖注入(inject)

ASP.NET MVC3 角色和权限管理 -> 使用运行时权限分配