asp.net   
 
    我在后台动态生成了lable和Textbox, 生成的 10几个lable与Textbox都连起来了。如何设置他们的样式。    //动态生成 Label 和 TextBox
            foreach (string xmlexi in xmllisti)
            {
                Label lab = new Label();
                lab.ID = "labIn_" + xmlexi;
                lab.Text = "      " + Getgrid_name(xmlexi) + ":";
                lab.Attributes.Add("Style", "text-align:left;padding-left:0px;");
                TextBox txt = new TextBox();
                txt.ID = "txtIn_" + xmlexi;
                txt.Attributes.Add("Style", "width:150px");                pani.Controls.Add(lab);
                pani.Controls.Add(txt);
                pani.Visible = false;
            }

解决方案 »

  1.   

    控件都有CssClass属性吧 在外部样式表文件中写好 直接指定不行吗

    lab.CssClass = "****";
      

  2.   

    这么设置,那这样可以吗?    lab.CssClass="width:30px"    这样只是设置了他的lable
    那Textbox 呢?     
         比如生成是   lable:textbox     lable:textbox     lable:textbox
                    lable:textbox     lable:textbox     lable:textbox
                    lable:textbox     lable:textbox     lable:textbox
    怎么一起设置?
      

  3.   

    我设置了。  txt.CssClass="width:30px"    不管用
      

  4.   


    写在表格里
    如下:
      
            HtmlTable tb = new HtmlTable();
                        tb.CellPadding = 0;//设置单元格与内容之间的边距
                        tb.CellSpacing = 1;//单元格之间的边距
            foreach (string xmlexi in xmllisti)
            {
                HtmlTableRow tr = new HtmlTableRow();//创建一行
                HtmlTableCell td = new HtmlTableCell();//创建一列
                //td css 样式 表格tb的样式,行tr的样式都可以设置,根据自己的情况设置,在此不一一设置
                td.Style.Add("text-align", "right");
                td.Style.Add("color", "green");            Label lab = new Label();
                lab.ID = "labIn_" + xmlexi;
                lab.Text = "      " + Getgrid_name(xmlexi) + ":";
                lab.Attributes.Add("Style", "text-align:left;padding-left:0px;");
                
                td.Controls.Add(lab);//把文框控件添加列中
                tr.Controls.Add(td);//把列添加当前行中
                
                          TextBox txt = new TextBox();
                txt.ID = "txtIn_" + xmlexi;
                txt.Attributes.Add("Style", "width:150px");
                
                td = new HtmlTableCell();//创建新列
                td.Controls.Add(txt);//把文框控件添加新列中
                tr.Controls.Add(td);//把列添加当前行中            tb.Rows.Add(tr);//把一行添加到表中
                
            }
        pani.Controls.Add(tb);//把表格添加到pani
       
                pani.Visible = false;
      

  5.   

    CssClass是设置类名 不是直接写样式代码
    你可以把css写在外部的样式表文件中 然后在CssClass属性中指定比如
    css文件.txtNormal
    {
    font-size:12px;
    width:30px;
    }
    然后在代码中指定txt.CssClass="txtNormal";
      

  6.   

    可以先写个DIV然后把它变成服务器控件(加上ID和runat="server").先给这个DIV加样式,然后把你那一堆东西放DIV里.就OK了
      

  7.   

    我按8楼的写。   为什么没有效果啊      HtmlTable tb = new HtmlTable();
         tb.CellPadding = 0;
         tb.CellSpacing = 1;     foreach (string xmlexi in xmllisti)
        {
             HtmlTableRow tr = new HtmlTableRow();
             HtmlTableCell td = new HtmlTableCell();
             td.Style.Add("text-align", "right");
             td.Style.Add("color", "green");         Label lab = new Label();
             lab.ID = "labIn_" + xmlexi;
             lab.Text = "      " + Getgrid_name(xmlexi) + ":";
             lab.Attributes.Add("Style", "text-align:left;padding-left:0px;");         td.Controls.Add(lab);
             tr.Controls.Add(td);         TextBox txt = new TextBox();
             txt.ID = "txtIn_" + xmlexi;
             txt.Attributes.Add("Style", "width:150px");         td = new HtmlTableCell();
             td.Controls.Add(txt);
             tr.Controls.Add(td);
             tb.Rows.Add(tr);
             pani.Controls.Add(tb);         pani.Controls.Add(lab);
             pani.Controls.Add(txt);
             pani.Visible = false;
         }
      

  8.   

    明明可以的,怎么说不行呢<form id="form1" runat="server">
            <div id="pani" runat="Server">
            </div>
        </form>
     protected void Page_Load(object sender, EventArgs e)
        {        
        //我在后台动态生成了lable和Textbox, 生成的 10几个lable与Textbox都连起来了。如何设置他们的样式。    //动态生成 Label 和 TextBox
            HtmlTable tb = new HtmlTable();
            tb.CellPadding = 0;//设置单元格与内容之间的边距
            tb.CellSpacing = 1;//单元格之间的边距        string[] xmllisti = new string[10];
            for (int i = 0; i < xmllisti.Length; i++)
                xmllisti[i] = "xml" + i;
            foreach (string xmlexi in xmllisti)
            {
                HtmlTableRow tr = new HtmlTableRow();//创建一行
                HtmlTableCell td = new HtmlTableCell();//创建一列
                //td css 样式 表格tb的样式,行tr的样式都可以设置,根据自己的情况设置,在此不一一设置
                td.Style.Add("text-align", "right");
                td.Style.Add("color", "green");            Label lab = new Label();
                lab.ID = "labIn_" + xmlexi;
                lab.Text = "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;" + xmlexi+ ":";
                lab.Attributes.Add("Style", "text-align:left;padding-left:0px;");            td.Controls.Add(lab);//把文框控件添加列中
                tr.Controls.Add(td);//把列添加当前行中            TextBox txt = new TextBox();
                txt.ID = "txtIn_" + xmlexi;
                txt.Attributes.Add("Style", "width:150px");            td = new HtmlTableCell();//创建新列
                td.Controls.Add(txt);//把文框控件添加新列中
                tr.Controls.Add(td);//把列添加当前行中            tb.Rows.Add(tr);//把一行添加到表中        }
            pani.Controls.Add(tb);//把表格添加到pani
    }
      

  9.   

    为什么不按我的写呢……扭头泪奔ing...
      

  10.   

    按9楼的写,   如何引用Css样式文件。   
      

  11.   

    我刚发给你的是可以的  <table style="width:1200px"> 表格宽度太大了,你设为400就行了       因为    <tr style="text-align:right">
    你设置为右对齐,所以数据跑到最右边你根本看不到,只是白屏
      

  12.   


    就是在页面头部把样式表文件链接进去啊<LINK   rel="stylesheet"   type="text/css"   href="Styles.css">   然后在代码中指定控件的CssClass属性
      

  13.   

    不能这么设置的啊,txt.CssClass="类名而不是样式的定义";
    确定页面加载了css样式文件!