在C# Blazor中使用超链接拼接两个参数的语法错误问题
Blazor中标签拼接参数导航的语法错误解决方法
问题分析
在Blazor视图中连续使用两个@()表达式拼接URL时,编译器无法正确识别这是一个完整的属性值,因此抛出“Syntax error, ',' expected”错误。
解决方案
方法1:在单个@表达式内完成拼接
将两个字符串的拼接逻辑放在同一个@()表达式中,编译器就能正确解析完整的URL:
<!-- 使用字符串插值 --> <a href="@($"{str1}{str2}")"> Go To Google Maps </a> <!-- 或者直接用+号拼接 --> <a href="@(str1 + str2)"> Go To Google Maps </a>
方法2:提前在代码中拼接完整URL
在代码块中预先拼接好完整的URL,视图直接引用变量,更清晰易维护:
// 代码部分 string str1 = "https://www.google.com"; string str2 = "/maps"; string fullGoogleMapsUrl = str1 + str2;
<!-- 视图部分 --> <a href="@fullGoogleMapsUrl"> Go To Google Maps </a>
额外注意
务必给str1加上https://前缀,否则浏览器会把它当作当前站点的相对路径,导致导航到错误地址。
内容的提问来源于stack exchange,提问作者AsM
相关产品推荐
相关产品推荐

