我正试图通过使用下面的代码改变一组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");