我對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