2010-08-20 2 views
1

У меня есть динамический стол, который создает div (новую панель) для каждого TD, и я хочу дать этому div класс ...Могу ли я добавить класс для управления панелью в коде?

Могу ли я добавить с Attributes.Add или cssClass класс на панель?

Я прошу, потому что я попытался с обоими и получил то же самое resault .... сбой браузера !!!

Каждый другой атрибут отлично работает, и я просто не понимаю, почему ....

Panel div = new Panel(); 
div.ID = "div" + "_" + i.ToString() + "_" + j.ToString(); 
div.Height = _CellHeight; 
div.Width = _CellWidth; 

. . .

div.CssClass = "droppable"; 
td.Controls.Add(div); 

пытается добавить весь код:

<link href="Styles/Kanpai.css" rel="stylesheet" type="text/css" /> 
<style type="text/css"> 
    .draggable { width: 20px; height: 20px; background-color:Blue;} 
    .draggable_big { width: 40px; height: 40px; background-color:Blue;} 
    .draggable_wide { width: 40px; height: 20px; background-color:Blue;} 
    .draggable_long { width: 20px; height: 40px; background-color:Blue;} 
    .droppable { width: 20px; height: 20px; background-color:Red;} 
</style> 
<script src="JavaScript/jquery-1.4.2.js" type="text/javascript"></script> 
<script src="JavaScript/jquery-ui-1.8.4.js" type="text/javascript"></script> 
<script src="JavaScript/Accordion.js" type="text/javascript"></script> 
<script language="javascript" type="text/javascript"> 
    $(document).ready(function() { 
     $(".draggable").draggable({ snap: '.droppable' }); 
     $(".draggable_big").draggable({ snap: '.droppable' }); 
     $(".draggable_wide").draggable({ snap: '.droppable' }); 
     $(".draggable_long").draggable({ snap: '.droppable' }); 
     $(".draggable_big").draggable("option", "cursor", 'move'); 
     $(".draggable_big").draggable("option", "cursorAt", {right:15,top:15}); 
     $(".draggable_wide").draggable("option", "cursor", 'move'); 
     $(".draggable_wide").draggable("option", "cursorAt", {right:15,top:15}); 
     $(".draggable_long").draggable("option", "cursor", 'move'); 
     $(".draggable_long").draggable("option", "cursorAt", {right:15,top:15}); 
     $(".droppable").droppable({ 
      drop: function() {alert('dropped:' + $(this).attr('id')); } 
     }); 
     $(".droppable").droppable("option", "tolerance", 'pointer'); 
    }); 
</script> 

רשימת האיזורים לבחירה: בחר איזור:

это код в parrent файла, который называет UC, которая строит ТА ...

сейчас. УНЦ:

public void CreatTable() 
{ 
    //לולאה ליצירת טבלה דינאמית לפי בחירת המתכנת 
    for (int i = 0; i < Convert.ToInt16(_RowNum); i++) 
    { 
     //שורה חדשה 
     TableRow tr = new TableRow(); 
     //קביעת זהות דינאמית לשורה 
     tr.ID = "tr" + i.ToString(); 
     //לולאה ליצירת העמודות בשורה 
     for (int j = 0; j < Convert.ToInt16(_ColNum); j++) 
     { 
      //תא חדש 
      TableCell td = new TableCell(); 
      //קבלת זהות לתא לפי השורה והעמודה 
      td.ID = "td" + "_" + i.ToString() + "_" + j.ToString(); 
      //קביערת רוחב עמודה 
      td.Width = _CellWidth; 
      //קביעת גובה שורה 
      td.Height = _CellHeight; 
      //בקוד DIV יצירת אלמנט מסוג 
      Panel div = new Panel(); 
      //קביעת הזהות לאלמנט 
      div.ID = "div" + "_" + i.ToString() + "_" + j.ToString(); 
      //קביעת גובה ורוחב כמו התא 
      div.Height = _CellHeight; 
      div.Width = _CellWidth; 

      //בדיקה האם יש אובייקטים לאותו האיזור 
      if (_ObjectsForTable != null) 
      { 
       //אם כן, לכל תא בטבלה נבדוק האם יש לו רשומה מתאימה בבסיס המידע 
       //מעבר על כל הרשומות בטבלה 
       for (Int16 DataSetIndex = 0; DataSetIndex < _ObjectsForTable.Tables[0].Rows.Count; DataSetIndex++) 
       { 
        //בדיקה האם האינדקסים בטבלה של הרשומה הנוכחית מתאימים לתא הנוכחי 
        if (Convert.ToInt32(_ObjectsForTable.Tables[0].Rows[DataSetIndex]["RowID"]) == i && 
         Convert.ToInt32(_ObjectsForTable.Tables[0].Rows[DataSetIndex]["ColID"]) == j) 
        { 
         //אם כן, נייצר תמונה למסך לפי סוג האובייקט 
         switch(Convert.ToInt32(_ObjectsForTable.Tables[0].Rows[DataSetIndex]["ObjectTypeID"])) 
         { 
          case 1: 
           div.Style.Add("background-image", "url(Images/Objects/Tables/TableFull.jpg);"); 
           div.Style.Add("position", "absolute"); 
           div.Style.Add("width", "40px"); 
           div.Style.Add("height", "30px"); 
           break; 
          case 2: 
           div.Style.Add("background-image", "url(Images/Objects/Tables/BarChair.png);"); 
           div.Style.Add("position", "absolute"); 
           div.Style.Add("width", "20px"); 
           div.Style.Add("height", "15px"); 
           break; 
         } 
         //div.Style.Add("background-image", "url(Images/Objects/Tables/TableFull.jpg);"); 
        } 
       } 
      } 
      div.CssClass = "droppable"; 
      //לתא DIVהוספת ה 
      td.Controls.Add(div); 
      //בדיקה האם צריך גבולות או לא לפני שמכניסים את התא לשורה 
      if (_IsBorder) 
       td.Style.Add("border", "1px solid black;"); 
      else 
       td.Style.Add("border", "none;"); 
      //הוספת התא לשורה 
      tr.Controls.Add(td); 
     } 
     //הוספת השורה לטבלה 
     tblMain.Controls.Add(tr);   
    } 
    tblMain.Style.Add("position", "relative"); 
    //אם נבחרה תמונת רקע ויש תמונה רקע יש לשים אותה 
    if (_IsBackGroundImage == true && _BackGroundImage != "" && _BackGroundImage != null) 
     tblMain.Style["background-image"] = _BackGroundImage; 


} 

Я сказал вам, что это длинный один .... :-)

Разве это не странно .....?

10x

+2

Можете ли вы описать этот «крах браузера»? ASP.NET Желтый экран? Браузер завершает выполнение и должен закрыть? Висит? и т. д. –

+0

Цикл никогда не заканчивается, я могу поместить весь код, но он очень большой, и это единственные строки, которые имеют какое-либо отношение к div от его конструкции, чтобы добавить ... , и когда я беру line: "div.CssClass =" droppable ", все возвращается к нормальному ... Я догадываюсь, что я заметил, что в каждом примере они используют Идентификатор элемента, и я использую объект сам ... Мой квест был, если я могу использовать объект, а не идентификатор объекта, и если мне нужно использовать id, как я могу сделать это с кодом, как это ???? 10x .... – Erez

+0

Что класс 'droppable' относится к пользовательскому интерфейсу? Вы используете jQuery-UI или другой клиентский интерфейс? Может быть, это потому, что вы создаете слишком много перетаскиваемых/droppable divs для обработки библиотеки javascript? (Например, когда вы добавляете класс «droppable» во многие div, пользовательский интерфейс должен инициализировать их, когда вы выходите из класса, это не так - отсюда узкое место ...) Возможно? –

ответ

2

Как и все WebControls, использовать общий .CssClass свойство для установки или изменить класс.

Звучит так, как будто ваша проблема не связана с установкой класса css, а что-то еще. Установка класса не приведет к сбою браузера.

Можете ли вы опубликовать весь свой код, а не фрагмент?

+0

i'v добавил весь код i может ... :-) 10x ... – Erez

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