如何在面板中创建动态内容的经典代码

//占位符控件    protected System.Web.UI.WebControls.PlaceHolder phPlaces;
private void InitPlaces()
        
{
            LiteralControl lbl;
            
string msg;
            LinkButton btn;

            phPlaces.Controls.Clear();
            msg 
= "Type: {0}, Place: {1}. From {2}/{3} to {4}/{5}. Description: {6}.";

            
foreach (DataRow row in ds.Tables["Existing"].Rows)
            
{
                lbl 
= new LiteralControl();
                
                
// Format the msg variable with values in the row
                lbl.Text = string.Format(msg, row["Type"], row["Place"], 
                    row[
"MonthIn"], row["YearIn"], 
                    row[
"MonthOut"], row["YearOut"], row["Name"]);
                
                btn 
= new LinkButton();

                
// Assign a unique ID to the control
                btn.ID = row["LapseID"].ToString().Replace("-"string.Empty);
                btn.Text 
= "Delete";
                
                
// Pass the LapseID when the link is clicked
                btn.CommandArgument = row["LapseID"].ToString();

                
// Attach the handler to the event
                btn.Command += new CommandEventHandler(OnDeletePlace);

                
// Add the controls to the placeholder
                phPlaces.Controls.Add(lbl);
                phPlaces.Controls.Add(btn);
                phPlaces.Controls.Add(
new LiteralControl("<br>"));
            }

            
// Hide the panel if there are no rows
            if (ds.Tables["Existing"].Rows.Count > 0)
                pnlExisting.Visible 
= true;
            
else 
                pnlExisting.Visible 
= false;
        }

posted @ 2005-06-11 12:52  虚空境界  Views(369)  Comments(1Edit  收藏  举报