C# 在运行时替换href值
我的主网页中有许多html标记。我想在运行时使用代码替换它们的HREF值。怎么做?所有a标记都使用runat=“server”进行标记。您可以使用AncorTag HTML控件的属性对其进行更改 像这样:C# 在运行时替换href值,c#,asp.net,C#,Asp.net,我的主网页中有许多html标记。我想在运行时使用代码替换它们的HREF值。怎么做?所有a标记都使用runat=“server”进行标记。您可以使用AncorTag HTML控件的属性对其进行更改 像这样: <a id="anchor1" runat="server"></a> private void UpdateTags(Control page) { foreach (Control ctrl in page.Controls)
<a id="anchor1" runat="server"></a>
private void UpdateTags(Control page)
{
foreach (Control ctrl in page.Controls)
{
if (ctrl is HtmlAnchor)
{
((HtmlAnchor)ctrl).HRef = "myNewlink";
}
else
{
if (ctrl.Controls.Count > 0)
{
UpdateTags(ctrl);
}
}
}
}
您应该给它一个Id,然后更改
Href
属性
<a runat="server" id="link1">link 1</a>
您必须迭代
ControlsCollection
中的所有控件,并更新Href
类型为HtmlAnchor
的所有控件的属性,如下所示:
<a id="anchor1" runat="server"></a>
private void UpdateTags(Control page)
{
foreach (Control ctrl in page.Controls)
{
if (ctrl is HtmlAnchor)
{
((HtmlAnchor)ctrl).HRef = "myNewlink";
}
else
{
if (ctrl.Controls.Count > 0)
{
UpdateTags(ctrl);
}
}
}
}
您还可以创建一个CustomControl,扩展
超链接
-类,并在其中加入一些逻辑。
我们将其用于自定义超链接,以向某些链接添加跟踪数据
private void UpdateTags(Control page)
{
foreach (Control ctrl in page.Controls)
{
if (ctrl is HtmlAnchor)
{
((HtmlAnchor)ctrl).HRef = "myNewlink";
}
else
{
if (ctrl.Controls.Count > 0)
{
UpdateTags(ctrl);
}
}
}
}