2013-09-03 5 views
0

Я довольно новичок в ASP.NET, так что простите меня. Когда я бросаю элемент с панели инструментов, он поставляется с идентификатором. Просто интересно, возможно ли создать класс div и использовать его как .box2 и дать команды вроде box2.Visible=false;?можно использовать класс в ASP.NET

<style> 
    #box2 
    { 
     width: 100px; 
     height: 100px; 
     background: red; 
    } 
</style> 


<form id="form1" runat="server"> 
    <asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click1" /> 
    <div runat="server" id="box2"></div> 
</form> 



protected void Button1_Click1(object sender, EventArgs e) 
{ 
    if (box2.Visible == true) 
    { 
     box2.Visible = false; 
    } 
    else 
    { 
     box2.Visible = true; 
    } 
} 
+0

Нет, вы не можете выполнять какие-либо действия с сервера на основе имени класса. Вы должны использовать id. –

ответ

0

Нет, что невозможно. Вы должны использовать Id с любыми элементами управления на стороне сервера.

0

Нет, класс клиентский, используйте для css и javascript. Вы можете получить доступ к элементу с идентификатором, если для управления назначено runat="server".

0

Да, вы можете, это сложно, но это можно сделать.

public static class Methods 
{ 
    public static IEnumerable<Control> GetAllControls(Control parent) 
    { 
     foreach (Control control in parent.Controls) 
     { 
      yield return control; 
      foreach (Control descendant in GetAllControls(control)) 
      { 
       yield return descendant; 
      } 
     } 
    } 
} 



var securedControls = Helpers.Methods.GetAllControls(this) 
             .OfType<WebControl>() 
             .Where(c => c.CssClass == "box2 "); 

При этом вы будете IEnumerable контроля на странице ASPX, где CssClass = box2, петля над ними и установить их видимость.

Смежные вопросы