我的主网页中有许多A html标签。我想用代码在运行时替换它们的HREF值。怎么做?所有的标签都标有runat =“server”。在运行时替换href值
3
A
回答
2
你必须在迭代的ControlsCollection
所有控件和更新是HtmlAnchor
类型的所有控件的Href
财产,像这样:
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);
}
}
}
}
2
您可以使用AncorTag HTML控件的HRef属性对其进行更改。
这样的:
<a id="anchor1" runat="server"></a>
在代码
void Page_Load(object sender, EventArgs e)
{
anchor1.HRef = "http://www.microsoft.com";
}
1
你应该给它一个ID,然后改变Href
属性。
<a runat="server" id="link1">link 1</a>
然后:
link1.HRef = "http://stackoverflow.com";
2
HtmlAnchor MyAnchor = (HtmlAnchor)e.Item.FindControl("YourAnchorID");
MyAnchor.HRef = "mypage.aspx";
0
你也可以做一个CustomControl,extendi Hyperlink
类,并把一些逻辑。 我们将它用于自定义超链接以将Trackingdata添加到某些链接。