1 回答
TA贡献1836条经验 获得超5个赞
Azure 徽章不打算与同一上下文中的其他徽章一起显示,因为它们使用的 ID 并不唯一。
我正在构建一个 C# Razor 页面应用程序,因此我在将 SVG 插入 Razor 页面之前加载它们。为了解决这个问题,我通过 ReplaceIds 方法运行 SVG,然后将它们传递到 Razor 页面:
private static string ReplaceIds(string text)
{
string pattern = " id=\"(\\w)\"";
while (true)
{
var res = Regex.Match(text, pattern, RegexOptions.IgnoreCase);
if (res.Success && res.Groups.Count > 0)
{
var id = res.Groups[1];
Guid g = Guid.NewGuid();
text = Regex.Replace(text, $" id=\"{id}\"", $" id=\"{g}\"");
text = Regex.Replace(text, @$"url\(#{id}\)", $"url(#{g})");
}
else
return text;
}
}
- 1 回答
- 0 关注
- 154 浏览
添加回答
举报