我一直在阅读逐字字符串文字和转义序列。我现在很好奇的是,当使用逐字字符串文字时,是否可以逃避并说从数据库中调用动态源?
例如,如何实现如下所示?
string jsFunc = @"
(function()
{
var image = 'Images/" + {sqlConn[2]} + "';
var img = document.getElementbyId('img1');
img.src = image;
}
);";
谢谢
答案 0 :(得分:6)
您有3个选项:
string jsFunc = $@"
(function()
{{
var image = 'Images/{sqlConn[2]}';
var img = document.getElementbyId('img1');
img.src = image;
}}
);";
(注意$
之前的@
以及删除字符串连接部分,这会将其转换为插值字符串。另请注意,我必须加倍括号以避免绊倒基础string.Format
。)
或者这个:
string jsFunc = string.Format(@"
(function()
{{
var image = 'Images/{0}';
var img = document.getElementbyId('img1');
img.src = image;
}}
);", sqlConn[2]);
哪个只是好'string.Format。同样关于加大括号。
或者这个:
string jsFunc = @"
(function()
{
var image = 'Images/" + sqlConn[2] + @"';
var img = document.getElementbyId('img1');
img.src = image;
}
);";
(请注意,在连接后我在字符串的其余部分之前添加了一个新的@
,并且还删除了大括号。)