在解决aspx中的问题时,我从ASP.Net会话变量中设置主干属性时遇到问题。JavaScript上的预期十六进制
我想设置一个属性,其中包含'\ u'中的字符。像
App.prop.set("Username",<%= Session.Name %>)
Session.Name含有“约翰\ udenver”的价值,当我把在JavaScript调试器,并检查它逃脱了值\ü正确的“约翰\ udenver”
所以Session.Name已经有了“john \ udenver”的转义价值。
但是,当它呈现并试图将值分配给属性时,它正在消除\ u并且我收到一个异常,指出“错误:预期的十六进制数字”。
我尝试使用“越狱”方法
App.prop.set("Username", escape ("<%= Session.Name %>"))
逃跑,但它抛出同样的异常,它呈现为
App.prop.set("Username", escape ("john\udenver"))
我想在渲染页面它被更改为“约翰\ udenver “并抛出异常。
其中一种解决方法是在<%= Session.Name%>之前进行RegEx检查。
App.Prop.set("Username","<%= System.Text.RegularExpressions.Regex.Escape(Session.Name)%>");
但是,这似乎并不是最清洁的方式。 需要帮助,在字符串中存在\ u或\ x的页面中设置和获取此属性。你可以请建议。
谢谢。