2016-02-27 89 views

回答

2

轉義序列在VB.NET是由雙引號加倍。

src = "src=""" + context.Request.Url.Scheme + "://" + context.Request.Url.Authority + src + "\""" 
+1

它工作得很好,我意識到原因。儘管我在雙引號中放置了://但是沒有在雙引號中加上「+ context.Request.Url.Scheme +」://「+ context.Request.Url.Authority + src +」\「 – himanshu

+0

實際上最好是:'src =「src =」「」&context.Request.Url.Scheme&「://」&context.Request.Url.Authority&src&「\」「」' – shadow

3

正如@ Olvarsham的回答所言,VB通過將其加倍而逃脫雙引號。

不過,我覺得這將是清潔重寫表達格式字符串:

src = String.Format("src=""{0}://{1}{2}""", context.Request.Url.Scheme, context.Request.Url.Authority, src) 

如果引用context.Request.Url上面,它會更簡單:

Dim url As Url = context.Request.Url 
src = String.Format("src=""{0}://{1}{2}""", url.Scheme, url.Authority, src) 
+0

我試過你的建議,進口System.Security.Policy」,然而接收錯誤:錯誤\t \t 1類型的值‘的System.Uri’不能被轉換爲‘System.Security.Policy.Url’請提出 – himanshu

+3

只需使用隱式類型:'昏暗URL =上下文.Request.Url',通過您的導入編譯器期望縮短型'Url'是完全合格的類型'System.Security.Policy.Url',而不是想'System.Uri'的 – abto

+0

。偉大的作品。奇妙的建議!! 謝謝 – himanshu