阿宽

Nothing is more powerful than habit!
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

Asp.net 动态生成页面中的内容

Posted on 2009-06-02 17:12  宽田  阅读(457)  评论(0)    收藏  举报

1、在页面中指定地方增加PlaceHolder

2、在PlaceHolder中增加控件。

    注:生成控件的代码需放在Page_Load中 ,且不能加IsPostBack判断。否则找到不控件。

示例代码:

string sSQl = "";
        sSQl 
= @"select sfcId,sfcDeptID,sfcTableName,sfcTabletitle 
            from hp_satisfactioncreate ssc
";
        sSQl 
= string.Format(sSQl, Resources.Resource.SysSatisfactionDept);
        DataView dvData 
= TDAIClient.BusinessDB.GetDataView(sSQl);
        
if (dvData != null)
        {
            
//增加回车
            
//LiteralControl lcVal = new LiteralControl("<br/>");
            
//增加空格
            
//LiteralControl lcSpace = new LiteralControl(@"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;");

            
if (dvData.Count > 0)
            {
                
/*
                 * 此处生成一个两列的表
                 
*/

                
//定义表
                HtmlTable htTab = new HtmlTable();
                htTab.Style.Add(HtmlTextWriterStyle.Width, 
"100%");
                
//定义表中的行
                HtmlTableRow htrTr = new HtmlTableRow();

                
for (int iRow = 0; iRow < dvData.Count; iRow++)
                {                
                    
//定义行中的例
                    HtmlTableCell htcTd = new HtmlTableCell();
                    htcTd.Style.Add(HtmlTextWriterStyle.TextAlign, 
"center");
                    htcTd.Style.Add(HtmlTextWriterStyle.Color, 
"blue");

                    
//定义LinkButton控件
                    LinkButton lbn = new LinkButton();
                    lbn.Text 
= dvData[iRow]["sfcTabletitle"].ToString();
                    lbn.ToolTip 
= dvData[iRow]["sfcId"].ToString();
                    
string sUrl = "SysSatisfactionDept.aspx?strID={0}";
                    sUrl 
= string.Format(sUrl, dvData[iRow]["sfcId"].ToString());
                    lbn.PostBackUrl 
= sUrl;

                    
//增加控件
                    htcTd.Controls.Add(lbn);
                    htrTr.Cells.Add(htcTd);
                    htTab.Rows.Add(htrTr);

                    
if (iRow % 2 == 0)
                    {
                        htrTr 
= new HtmlTableRow();
                    }
                    
                }
                phControl.Controls.Add(htTab);
            }
        }