我对Escape功能感到困惑,它在我的.asp网页中工作得很好,但在.aspx aspx网页中不起作用;可以在.Net ..中使用VBScript Escape()函数吗?
因此变量被声明;
Dim sProtocols As String
该内容被加载到sProtocols变量中(通过读取文件);
[EML Email forwarding]
ServiceName=EML FORWARD
ProtocolKey=SMTP_ANY_DESTN
PortBaudRate=
PortDataBits=
PortParity=
PortStopBits=
PortFlowControl=OFF
DialNumber=
ServicePrompt=
ServiceLogoff=
CarrierPrefix=
AccessKey=
MaxPages=999
MaxLength=250
MaxAttempts=1
X25NUA=
X25Prompt=your.domain.com
然后在sProtocols的内容上调用Escape函数;
sTemp = Escape(sProtocols)
这里是完美形成的输出,可以嵌入到网页中;
%5BEML%20Email%20forwarding%5D%0D%0AServiceName%3DEML%20FORWARD%0D%0AProtocolKey%3DSMTP_ANY_DESTN%0D%0APortBaudRate%3D%0D%0APortDataBits%3D%0D%0APortParity%3D%0D%0APortStopBits %3D%0D%0APortFlowControl%3DOFF%0D%0ADialNumber%3D%0D%0AServicePrompt%3D%0D%0AServiceLogoff%3D%0D%0ACarrierPrefix%3D%0D%0AAccessKey%3D%0D%0AMaxPages%3D999%0D%0AMaxLength%3D250 %0D%0AMaxAttempts%3D1%0D%0AX25NUA%3D%0D%0AX25Prompt%3Dyour.domain.com%0D 0A%%
然而,在网页的净ASPX版本我得到这些错误;
[出现FormatException:输入字符串的不正确的格式。]
Microsoft.VisualBasic.CompilerServices.Conversions.ParseDouble(字符串值,的NumberFormatInfo的NumberFormat)213
Microsoft.VisualBasic.CompilerServices.Conversions.ToInteger (字符串值)90[InvalidCastException的:从字符串转换 “[EML电子邮件转发] ServiceN” 键入 '整数' 是无效]
Microsoft.VisualBasic.CompilerServices.Conversions.ToInteger(串值) +238
ASP.emi2_aspx .__ Render__control1(HtmlTextWriter的__w,控制parameterContainer)在C:\的Inetpub \ wwwroot的\ EmsgwebOUT_NETEDITW.aspx:188
System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter的作家,ICollection的孩子)268
系统。 Web.UI.Control.RenderChildren(HtmlTextWriter的作家)+13
System.Web.UI.Page.Render(HtmlTextWriter的作家)+29
System.Web.UI.Control.RenderControlInternal(HtmlTextWriter的作家的ControlAdapter适配器)+66
System.Web.UI.Control.RenderControl(HtmlTextWriter writer,ControlAdapter adapter)+100
System.Web.UI.Control.RenderControl(HtmlTextWriter writer)+25
System.Web.UI.Page.ProcessRequestMain(布尔includeStagesBeforeAsyncPoint,布尔includeStagesAfterAsyncPoint)1303
我不明白,这之前一直工作,逃生就是这样一个简单的功能使用。
我是否需要做其他事情来为Escape函数准备字符串,或者是否有其他方法来执行此操作?
您必须查找[HttpServerUtility.UrlEncode方法](https://msdn.microsoft.com/en-us/library/zttxte6w(v = vs.110).aspx)... VBScript!= VB.Net – Filburt
感谢Filburt,但不完全是由于UrlEncode未将空间编码为%20撇号到%27并保留+字符 – rangi