Как изменить класс CSS элемента страниц HTML с помощью ASP.NET?

foreach($array as $arr){

  array_unshift($array, $arr); 
  array_pop($array);

}
16
задан Alexander Prokofyev 24 September 2008 в 04:26
поделиться

5 ответов

Метод FindControl ищет управление сервером. Таким образом, это ищет средства управления с атрибутом "runat" набор к "серверу", как в:

<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());
4
ответ дан 30 November 2019 в 15:21
поделиться

Добавьте runat="server" в Вашей странице HTML

, тогда используют свойство атрибута у Вашего asp. Сетевая страница как это

li1.Attributes["Class"] = "class1";
li2.Attributes["Class"] = "class2";
30
ответ дан 30 November 2019 в 15:21
поделиться

FindControl будет работать при включении runat = "сервер" в < li>

<li id="li1" runat="server">stuff</li>

Иначе Вы серверный код не может 'видеть' его.

12
ответ дан 30 November 2019 в 15:21
поделиться

необходимо установить runat = "сервер" как:

<li id="li1" runat="server">stuff</li>
4
ответ дан 30 November 2019 в 15:21
поделиться

Это найдет элемент Li и установил на него класс CSS.

using System.Web.UI.HtmlControls;

HtmlGenericControl liItem = (HtmlGenericControl) ctl.FindControl("liItemID");
liItem.Attributes.Add("class", "someCssClass");

Не забудьте добавить свой атрибут Runat = «Сервер» , как упомянуто другими.

5
ответ дан 30 November 2019 в 15:21
поделиться
Другие вопросы по тегам:

Похожие вопросы: