2016-02-27 54 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