private void CreatePanel()
{
AjaxControlToolkit.TabContainer tc = new AjaxControlToolkit.TabContainer();
string[] str = new string[9] { "M", "A", "B", "C", "D", "E", "F", "G", "H" };
int k = 0;
foreach (DataRow dr in sql.GetDataSet("select * from Item").Tables[0].Rows)
{
k++;
AjaxControlToolkit.TabPanel tp = new AjaxControlToolkit.TabPanel();
string name = dr["Item_Name"].ToString();
string html = "";
tp.HeaderText = dr["Item_Name"].ToString();
html += "<p style='padding-top:0px; padding-bottom:2px; padding-left:0px; margin-bottom:5px;'>";
html += dr["Item_Description"].ToString();
html += "</p>";
html += "<table border='0' cellpadding='0' cellspacing='1' bgcolor='#707b8d' width='547px'style=' margin-left:0px;font-size:11px;'>";
html += "<tr bgcolor='#edf1f3'>";
html += "<td align='center' height='22px' style='width:30px;'>";
html += "编号";
html += "</td>";
html += "<td align='center'valign='middle' style='width:120px;'>";
html += "项目名称";
html += "</td>";
html += "<td align='center'valign='middle' style='width:350px;'>";
html += "项目描述";
html += "</td>";
html += "<td align='center'valign='middle' style='width:55px;'>";
html += "需要打√";
html += "</td>";
html += "</tr>"; int b = 0;
foreach (DataRow dr1 in sql.GetDataSet(string.Format("select * from Project where Item_Id={0}", int.Parse(dr["Item_Id"].ToString()))).Tables[0].Rows)
{
b++;
html += "<tr bgcolor='#FFFFFF'>";
html += "<td align='center'>";
html += str[k].ToString() + b.ToString();
html += "</td>";
html += "<td>";
html += dr1["Name"];
html += "</td>";
html += "<td>";
html += dr1["Description"];
html += "</td>";
html += "<td align='center'>";
if ((bool)dr1["Status"])
{
html += "<input id='Checkbox1' type='checkbox' checked=true />";
}
else
{
html += "<input id='Checkbox1' type='checkbox' />";
}
html += "</td>";
html += "</tr>";
}
html += "</table>";
html += "<p style='padding-top:5px; padding-bottom:2px; padding-left:0px; margin-bottom:8px;'>";
html += "其他" + name + "(如需增加其他项目描述,请在下面填写)";
html += "</p>";
html += "<p>";
html += "<textarea id='TextArea1' cols='20' rows='2' style='width: 540px;height:50px;'>";
html += "</textarea>";
html += "</p>";
Label lb = new Label();
lb.Text = html;
tp.Controls.Add(lb);
tc.Controls.Add(tp);
} AjaxControlToolkit.TabPanel tp1 = new AjaxControlToolkit.TabPanel();
tp1.HeaderText = "其他设备信息";
Label lbs = new Label();
lbs.Text = "如还有其他设备信息需要描述,请在下面填写";
TextBox tb = new TextBox();
tb.TextMode = TextBoxMode.MultiLine;
tb.Height = 100;
tb.Width = 540;
tp1.Controls.Add(lbs);
tp1.Controls.Add(tb);
tc.Controls.Add(tp1);
Panel1.Controls.Add(tc);
}
我动态生成一个AJAX TabContainer 控件,但是我要怎么获取控件生成的 checkbox,textarea 的值,并能在后台.cs进行访问呢。
或者有其他的办法生成CheckBox,TextBox吗?只要能动态的生成和读取就行了,谢谢大家了。
解决方案 »
- 请看下Asp。net中的方法重写问题
- 分享 PE文件结构 和 Torrent 文件结构
- 如果使用Threading.Timer判断程序空闲10分钟后自动关闭程序
- 用Controlpaint类绘制Linklabel
- 各位大哥救救我,建项目时出现以下错误,谢谢指教!!!
- 我愿意出1000大分,清详细叙述下面的问题,菜单是什么?
- c#从网络读取验证码时出错
- 如果快速把System.Double类型数据值只保留n位小数,结果仍然为double类型(非字符串类型)
- 是不是只要装了.net框架,任何系统平台都可以运行在别的平台编译好C#程序?
- 求使用C#做asp.net开发的经验过程
- c#
- 怎样用c#编程实现读写Binary!~
百度:asp.net动态生成控件
request.Form["你的客户端控件名称"]获取对应的控件值
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=" "+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=" "+ds.Tables[0].Rows[i]["tip"].ToString();
lb.CssClass="registerInfo";
}
}