我的aspx.cs页面中有一个属性,其中包含图像的路径。我需要将此路径设置为a:background之前的背景图像,如下所示:
我在aspx.cs页面中的属性名是:FirstLinkIcon
现在在.aspx页面我正在尝试:
<style>
.m-quick-links ul li a:before {
background-image: url('<%=FirstLinkIcon%>');
background-position: 0 -4164px;
}
</style>
但是由于&lt;%=%&gt;而导致渲染页面出错。在css中使用。
我也尝试从这样的代码设置这个样式:
firstLinkUrl.Style.Add("background-image", FirstLinkIcon);
但它在锚标记上设置背景图像而不是:在
之前请建议我如何设置a:之前的代码风格?或者如果不能从后面的代码中完成,那么如何在aspx页面上的css中访问代码后面的代码?如上所述?
我已经搜索过它,但没有得到任何帮助,所以发布了一个问题。
答案 0 :(得分:0)
除非我忘记了ASP.NET,否则无法在运行时修改关于伪元素的任何而不直接更改<style>
元素。我建议在非伪元素中包含所需的任何数据或逻辑。
答案 1 :(得分:0)
经过研究,我终于找到了解决问题的方法。为此,我为LiteralControl创建了一个对象,然后通过在其中附加我的属性,使用字符串构建器将样式标记创建为字符串,现在我已将LiteralControl的Text属性初始化为上面的样式标记字符串,最后将LiteralControl添加到页眉。
它在我的页面标题中渲染生成的样式标记,其中包含属性值,并且在我的页面上应用了渲染样式。以下是我在代码中使用的代码:
System.Web.UI.LiteralControl ltr = new System.Web.UI.LiteralControl();
StringBuilder sb = new StringBuilder();
sb.Append("<style type=\"text/css\" rel=\"stylesheet\"> .m-quick-links ul li a:before { background-image: url(");
sb.Append(FirstLinkIcon); //here i am appending property value in css style
sb.Append(") !important; } </style>");
ltr.Text = sb.ToString();
this.Page.Header.Controls.Add(ltr);
以下是我的页面标题上的样式标记:
<style type="text/css" rel="stylesheet"> .m-quick-links ul li a:before { background-image: url(http://localhost:8082/assets/img/sprites/global-se8a7877705.png) !important; } </style>
答案 2 :(得分:0)
我在<%=...%>
内使用style
进行了简单的测试并确保其有效。
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="UserControl1.ascx.cs" Inherits="TestWebForm1.UserControl1" %>
<style>
.class1:before { content:'<%=getContent()%>'; color: green; }
</style>
<div class="class1" style=" padding:10px; border:1px solid silver; width:300px;">
<span>This is UserControl1:</span><br />
<asp:TextBox runat="server" ID="utxt1" width="100px"></asp:TextBox>
<asp:Button runat="server" ID="ubtn1" Text="+" OnClick="ubtn1_Click" />
</div>
及其背后的代码:
public partial class UserControl1 : System.Web.UI.UserControl
{
public string getContent()
{
return DateTime.Now.ToShortTimeString();
}
}
请注意,在usercontrol
中以这种方式嵌入样式标记并不好,因为它们将在您使用它们的body
内呈现(不在<head>
部分中)。
请说明你的情况有什么问题?