如何使用ASP.NET更改HTML页面元素的CSS类?

前端之家收集整理的这篇文章主要介绍了如何使用ASP.NET更改HTML页面元素的CSS类?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有几个< li>在ASP.NET页面上具有不同id的元素:
<li id="li1" class="class1">
<li id="li2" class="class1">
<li id="li3" class="class1">

并可以使用JavaScript改变他们的课程:

li1.className="class2"

但是有没有办法改变< li>元素类使用ASP.NET?它可能是这样的:

WebControl control = (WebControl)FindControl("li1");
control.CssClass="class2";

但是FindControl()不符合我的预期.有什么建议么?

提前致谢!

解决方法

FindControl方法搜索服务器控件.也就是说,它查找属性“runat”设置为“server”的控件,如:
<li runat="server ... ></li>

因为您的< li>标签不是服务器控件,FindControl找不到它们.您可以将这些“runat”属性添加到这些控件中,或者使用ClientScript.RegisterStartupScript包含一些客户端脚本来操作该类.

System.Text.StringBuilder sb = new System.Text.StringBuilder();
sb.Append("<script language=\"javascript\">");
sb.Append("document.getElementById(\"li1\").className=\"newClass\";")
sb.Append("</script>");
ClientScript.RegisterStartupScript(this.GetType(),"MyScript",sb.ToString());

猜你在找的asp.Net相关文章