我可以在代码后面的面板控件中添加一个类吗?

时间:2010-08-20 19:02:08

标签: c# asp.net c#-3.0 code-behind

我有一个动态表,为每个TD创建一个div(新面板),我想给这个div一个类......

我可以使用Attributes.Add或cssClass向面板添加一个类吗?

我问因为我试过两个并得到同样的攻击....浏览器崩溃!!!

每个其他属性都很有效,我只是不明白为什么......

 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的代码...

现在。 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;


}

我告诉你这是一个很长的......: - )

不是很奇怪.....?

10倍

1 个答案:

答案 0 :(得分:2)

与所有WebControls一样,使用公共.CssClass属性来设置或修改类。

听起来像我的问题与设置css类无关,而是其他问题。设置类不会导致浏览器崩溃。

您可以发布整个代码,而不是代码段吗?