gpt4 book ai didi

c# - 如何从 LiteralControl 获取 href?

转载 作者:行者123 更新时间:2023-11-30 14:00:56 25 4
gpt4 key购买 nike

我需要从 LiteralControl 中读取 href 并向其添加一些属性:

标记;

<a id="aMyAnchor" runat="server" href="bob.com">click me</a>

这是我尝试过的:

string url= "bob.com";
var myAnchor = divLinkContainer.Controls
.Cast<LiteralControl>()
.Where(a => a.Attributes["href"]
.Contains(url)).First();

但是,LiteralControl 没有 attributes 属性...

注意:我知道我可以通过它的 id 直接访问链接,但这只是因为我使示例代码变得简单。

编辑:

这个:

string url= "bob.com";
var myAnchor = divLinkContainer.Controls
.Cast<HtmlAnchor>()
.Where(a => a.HRef
.Contains(url)).First();

结果:

Unable to cast object of type 'System.Web.UI.LiteralControl' to type 'System.Web.UI.HtmlControls.HtmlAnchor'.

最佳答案

您的 divLinkContainer 节点可能包含其他无法转换为 HtmlAnchor 类型的节点。要仅选择 HtmlAnchor 类型的节点,请使用 Enumerable.OfType :

var myAnchor = divLinkContainer.Controls
.OfType<HtmlAnchor>()
.Where(a => a.HRef.Contains(url))
.First();

关于c# - 如何从 LiteralControl 获取 href?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9488993/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com