【问题标题】:Hide SVG element from C#从 C# 隐藏 SVG 元素
【发布时间】:2020-04-03 08:47:22
【问题描述】:

我有一个svg,其中包含两个组。

<svg viewBox="0 0 150 150" xmlns="http://www.w3.org/2000/svg">
  <g id="gr1" fill="white" stroke="green" stroke-width="5">
    <circle cx="40" cy="40" r="25" />
    <circle cx="60" cy="60" r="25" />
  </g>
  <g id="gr2" fill="white" stroke="green" stroke-width="5">
    <circle cx="90" cy="60" r="25" />
    <circle cx="96" cy="40" r="25" />
  </g>
</svg>

有没有办法使用 C# 或 javascript(最好是 C#)在某些事件(按钮单击、x 值>y 值等)隐藏组 gr2?我知道 visibility="hidden" 做我想做的事,但我不知道如何为我的一组 SVG 调用它。

【问题讨论】:

  • 您是否尝试过为此使用jquery
  • 致敬! N-am incercat。作为首选 sa fac acest lucru pe C#。 Ce optiuni am in jquery?
  • g.style("display", "none");
  • 这是一个 MVC 项目吗?我们需要更多代码来帮助您。
  • Ionut 你可以通过添加 runat="server" 并给它一个 id 来与服务器上的任何控件通信。

标签: c# svg visibility


【解决方案1】:

试试这个:

<svg  viewBox="0 0 150 150" xmlns="http://www.w3.org/2000/svg">
  <g id="gr1" fill="white" stroke="green" stroke-width="5">
    <circle cx="40" cy="40" r="25" />
    <circle cx="60" cy="60" r="25" />
  </g>
  <g runat="server"  id="gr2" fill="white" stroke="green" stroke-width="5">
    <circle cx="90" cy="60" r="25" />
    <circle cx="96" cy="40" r="25" />
  </g>
</svg>

在c#中

{
    gr2.Visible = false;
}

【讨论】:

  • 我不想隐藏整个 SVG,只想隐藏 gr2。
  • 好的。有用。谢谢!虽然我有一个问题:如果这个 SVG 是在一个 asp 图像中调用的,我怎么能隐藏这个组?
  • 你不能这样做。 asp 图像是一个,svg 将作为静态资源从您的 Web 服务器加载。然后,根据浏览器如何呈现 svg(我没有检查),您将需要 som javascript 来解决这个问题。
  • 请问你有一个例子,我怎么能在javascript中做到这一点?我问你这个是因为我有其他复杂的 SVG,我不能将它们包含在我的 aspx 页面中,我必须通过 asp 图像调用它。非常感谢! :)
  • 这里有一个基本示例:w3schools.com/howto/howto_js_toggle_hide_show.asp 您可以在您的 svg 上添加一个 id 属性,并使用 javascript 中的 onClick 事件将其隐藏。我需要看一个更全面的例子(可能是一个新问题)来帮助你更多。
猜你喜欢
  • 2020-04-03
  • 2016-06-19
  • 1970-01-01
  • 2014-08-26
  • 2020-04-08
  • 1970-01-01
  • 2015-07-08
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多