【发布时间】:2011-06-08 14:19:05
【问题描述】:
我想传递一个参数字符串包括样式标签,例如:
a:"<font color=blue>testing!@#$%^&*()_+{}|:"<>?-=[]\;',./"
我正在使用 decodeURI 来传递字符串。但在 extjs 中仍然出错。
我已经查过了,是符号%导致这个错误出来的。
如何解决??
【问题讨论】:
我想传递一个参数字符串包括样式标签,例如:
a:"<font color=blue>testing!@#$%^&*()_+{}|:"<>?-=[]\;',./"
我正在使用 decodeURI 来传递字符串。但在 extjs 中仍然出错。
我已经查过了,是符号%导致这个错误出来的。
如何解决??
【问题讨论】:
不确定我是否完全理解您的问题,但您可能应该首先转义您的字符串,以防止第二个 " 终止您的字符串。
// Original:
a:"<font color=blue>testing!@#$%^&*()_+{}|:"<>?-=[]\;',./"
您可以通过语法高亮显示原始字符串提前终止。
// Escaped:
a:"<font color=blue>testing!@#$%^&*()_+{}|:\"<>?-=[]\\;',./"
通过使用转义字符\,您可以告诉JS 将第二个" 解释为字符串的一部分,而不是字符串终止符。您还应该在字符串末尾附近转义 \ 字符,以防止 JS 认为您正在使用它来转义 ; 字符。
【讨论】:
1)Ext.getCmp('txt').setValue(Ext.util.Format.htmlDecode(getSel.data.Message));
使用 Ext.util.Format.htmlDecode
第二部分是 参数:{ 味精:(Ext.getCmp('txt').getValue())
无需编码
3)
Page Language="C#" AutoEventWireup="true" CodeBehind="Msg.aspx.cs" Inherits="Msg" ValidateRequest="false" %>
打开 Msg.aspx 添加 ValidateRequest="false"
【讨论】: