CSS样式不能在ASP中动态设置.NET背后的代码



我正试图通过使用下面的代码改变一组asp.net控件的CSS类和属性:

ASP。净:

<span id="followbtn_mainbtn" runat="server" class="follow-btner" onclick="profile_followers_follow(this)">
        <img id="img_followingbtn" runat="server" class="profile-single-profile-follow-btn-img" src="icons/profico/following.png" style="display: none;">
        <img id="img_unfollowbtn" runat="server" class="profile-single-profile-unfollow-btn-img" src="icons/profico/unfollow.png" style="display: none;">
        <img id="img_followicon" runat="server" class="profile-single-profile-follow-icon" src="icons/profico/followIcon.png">
        <span id="span_following_text" runat="server" class="profile-single-profile-follow-btn-following">Follow</span>
        <span id="span_unfollow_text" runat="server" class="profile-single-profile-follow-btn-unfollow" style="display: none;">Unfollow</span>
      </span>
代码:

followbtn_mainbtn.Attributes.CssStyle.Add("className", "follow-btner-no-hoverer");
span_unfollow_text.InnerText = "Following";
img_followingbtn.Attributes.CssStyle.Add("display", "block");
img_unfollowbtn.Attributes.CssStyle.Add("display", "block");
span_unfollow_text.Attributes.CssStyle.Add("display", "block");

然而,当我运行这个时,我没有看到想要的结果。如果我硬编码适当的类到控件,它们可以正常工作,但代码不能动态地完成。

我做错了什么?

是否在回发期间更新css ?首先尝试将更改添加到表单上的Page_Load方法中,这将告诉您在设置样式和类时代码正在工作。如果代码工作,然后我要确保你有EnableViewState="false"在你的页面和/或父控件的跨度。

这实际上是一个简单的错误。我使用了错误的代码来改变名为"followbtn_mainbtn"的span的css类。

我替换了

followbtn_mainbtn.Attributes.CssStyle.Add("className", "follow-btner-no-hoverer");

followbtn_mainbtn.Attributes["class"] = "follow-btner-no-hoverer";

瞧!完成交易。谢谢你的回答和评论:)

您可以使用此代码更改

后面代码中的css
 img_followingbtn.Style.Add("display", "block");

最新更新