2010-08-20 52 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

相关问题