从asp.net后面的代码中获取锚元素的href属性

Posted

技术标签:

【中文标题】从asp.net后面的代码中获取锚元素的href属性【英文标题】:get href attrib of anchor element from code behind in asp.net 【发布时间】:2011-08-30 01:16:16 【问题描述】:

嗨,亲爱的朋友们: 如何从 asp.net 中的代码中获取锚元素的 href 属性? (c#)

为什么下面的代码不起作用? .aspx:

            <a runat="server" id="lightbox" href='<%# GetImageurl() %>'>
            <asp:Image ID="imgInrpvEdit" runat="server" ImageUrl="~/Images/Admin/Unknown.png" />
            </a>

后面的代码:

protected string GetImageurl()

    return "/Images/Admin/Unknown.png";

注意:我的页面基于母版和内容页面 + 在这些内容页面中,我有多视图和上部锚点位于内容页面的视图内......

最好的问候

【问题讨论】:

向浏览器呈现什么? 嗨亲爱的@Mel -> 渲染后没有href!!! 【参考方案1】:

也许你的标签错了?

试试&lt;%= GetImageurl() %&gt;

http://naspinski.net/post/inline-aspnet-tags-sorting-them-all-out-%283c25242c-3c253d2c-3c252c-3c252c-etc%29.aspx

【讨论】:

【参考方案2】:

你必须删除

runat="server"

并使用此语法

<%= GetImageurl() %>

如果您无法删除 runat="server" 您可以在代码端进行:

protected void Page_Load(object sender, EventArgs e)
    
        lightbox.Attributes.Add("href", GetImageurl());
    

更新

如果你想使用你的实际语法,我认为你必须调用 DataBind 方法:

protected void Page_Load(object sender, EventArgs e)
    
        lightbox.DataBind();
    

【讨论】:

【参考方案3】:

在页面加载序列中的某个位置,您希望拥有:

lightbox.NavigateUrl = GetImageurl()); 

另外,您不需要包含 asp:Image,只需在上述内容之后执行此操作即可:

lightbox.ImageUrl = "http://somewhere.jpg"

【讨论】:

以上是关于从asp.net后面的代码中获取锚元素的href属性的主要内容,如果未能解决你的问题,请参考以下文章

如何从后面的 asp.net 代码中获取 Select2 值

使用 asp.net 从后面的代码中获取 Jquery 的 Select2 的多个选定值

从 ASP .Net Web 表单后面的代码中获取 Select2 选定值

从 asp.net 中的代码中删除属性

如何使用 C# ASP.Net 从 XML 文档中获取特定 XML 元素的列表?

如何使用 ASP.NET 从后面的代码中添加一个额外的 css 类?