2010-08-20 55 views
1

我有,對於每一個TD創建一個div(新面板)一個動態表,我想給這個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文件中的代碼,即調用一個正在建設的TA在UC的一個...

現在。在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黃色屏幕?瀏覽器結束執行並且必須關閉?掛起? – 2010-08-20 19:23:06

+0

一個循環永無止境,我可以把所有的代碼,但它是一種巨大的,這是唯一的線,有任何事情要做的div從它的建設追加... 當我把行:「div.CssClass =」droppable「;每一件事回到正常... 我猜我注意到的是,在每個示例中,他們使用元素的Id,我使用它自己的對象...我的questian是如果我可以使用對象,而不是對象的ID,如果我需要使用該ID,我該如何與代碼做它,因爲它是? 10x .... – Erez 2010-08-20 19:37:04

+0

'droppable'類在UI上涉及什麼?你使用jQuery-UI還是其他客戶端UI工具?也許這是因爲你正在爲javascript庫處理創建太多可拖動/可丟棄的div? (也就是說,當你爲許多div添加'droppable'類時,UI必須初始化這些,當你把課拿出來時,它不會 - 因此是瓶頸......)也許吧? – 2010-08-20 19:45:44

回答

2

與所有WebControls,使用同一個.CssClass屬性來設置或修改類。

對我來說聽起來像你的問題是與設置一個CSS類,但別的東西無關。設置一個類不會導致瀏覽器崩潰。

你可以發佈你的整個代碼,而不是一個片段嗎?

+0

i'v添加了所有的代碼我可以... :-) 10x ... – Erez 2010-08-20 19:50:19

相關問題