ASP动态生成控件_.NET_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > .NET > ASP动态生成控件

ASP动态生成控件

 2011/1/9 9:19:08  垂直的微笑  http://shenling258-hotmail-com.javaeye.com  我要评论(0)
  • 摘要:asp.net动态生成控件的方法:1.在aspx页面放一个Panel控件2.代码如下:privatevoidPage_Load(objectsender,System.EventArgse){//在此处放置用户代码以初始化页面if(Session["p_userid"]==null||Session["p_loginName"]==null||Session["p_created"]==null){Response.Write("<script>alert('请先登陆')
  • 标签:控件
asp.net动态生成控件的方法:
1.在aspx页面放一个Panel控件
2.代码如下:

private?void?Page_Load(object?sender,?System.EventArgs?e)
????????
{
????????????//?在此处放置用户代码以初始化页面
????????????if(Session["p_userid"]==null||Session["p_loginName"]==null||Session["p_created"]==null)
????????????
{
????????????????Response.Write("<script>alert('请先登陆');location.href='../loginProc/login.aspx';</script>");
????????????????Response.End();
????????????}
????????????else
????????????
{
????????????????Panel1.Controls.Add(new?LiteralControl("<table>"));
????????????????Panel1.Controls.Add(new?LiteralControl("\n"));
????????????????SqlCommand?cmd=new?SqlCommand("select?infos.*?from?infos,infoGroups?where?infos.infoGroup_id?=?infoGroups.id?and?infoGroups.title='联系方式'?order?by?infos.pri",connPartner);
????????????????SqlDataAdapter?da=new?SqlDataAdapter();
????????????????DataSet?ds=new?DataSet();
????????????????da.SelectCommand=cmd;
????????????????da.Fill(ds,"infos");
????????????????for?(int?i=0;i<ds.Tables[0].Rows.Count;i++)
????????????????
{
????????????????????Panel1.Controls.Add(new?LiteralControl("<tr>"));
????????????????????TableCell?cell?=?new?TableCell();//创建单元格,也就是第一列
????????????????????cell.Text=ds.Tables[0].Rows[i]["title"].ToString();//设置单元格内的文本
????????????????????Panel1.Controls.Add(cell);
????????????????????Panel1.Controls.Add(new?LiteralControl("<td>"));
????????????????????TextBox?textBox=new?TextBox();
????????????????????textBox.ID="t"+ds.Tables[0].Rows[i]["id"].ToString();
????????????????????Panel1.Controls.Add(textBox);
????????????????????Panel1.Controls.Add(new?LiteralControl("</td>"));
????????????????????Panel1.Controls.Add(new?LiteralControl("<td>"));
????????????????????Label?lb=new?Label();
????????????????????lb.ID="l"+ds.Tables[0].Rows[i]["id"].ToString();
????????????????????lb.Text="&nbsp;"+ds.Tables[0].Rows[i]["tip"].ToString();
????????????????????lb.CssClass="registerInfo";
????????????????????Panel1.Controls.Add(lb);
????????????????????Panel1.Controls.Add(new?LiteralControl("</td>"));
????????????????????Panel1.Controls.Add(new?LiteralControl("</tr>"));
????????????????????Panel1.Controls.Add(new?LiteralControl("\n"));
????????????????}
????????????????
????????????????Button?rebt=new?Button();
????????????????rebt.ID="redirect";
????????????????rebt.Text="?不填了?";
????????????????rebt.Click+=new?EventHandler(rebt_Click);
????????????????Panel1.Controls.Add(rebt);
????????????}
????????}
private?void?rebt_Click(object?sender,?EventArgs?e)
????????
{
????????????Response.Redirect("../partnerProc/default.html");
????????}

访问动态生成控件,可以通过FindControl方法,代码如下:
for(int?i=0;i<ds.Tables[0].Rows.Count;i++)
????????????
{
????????????????Label?lb;
????????????????lb=(Label)Panel1.FindControl("l"+ds.Tables[0].Rows[i]["id"].ToString());
????????????????if(lb!=null)
????????????????
{
????????????????????lb.Text="&nbsp;"+ds.Tables[0].Rows[i]["tip"].ToString();
????????????????????lb.CssClass="registerInfo";
????????????????}
????????????}
发表评论
用户名: 匿名