关于AJAX控件的问题

moondairy 2009-01-06 01:00:37

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吗?只要能动态的生成和读取就行了,谢谢大家了。
...全文
74 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
miwablog 2009-01-06
  • 打赏
  • 举报
回复

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";
}
}
Fibona 2009-01-06
  • 打赏
  • 举报
回复
在服务器控件事件里面写
request.Form["你的客户端控件名称"]获取对应的控件值
sunchaohuang 2009-01-06
  • 打赏
  • 举报
回复
写javascript脚本异步发送到服务端通过requist获取数据再进行相应的操作
第1章 服务器控件概述及开发环境部署 .1 1.1 自定义服务器控件 1 1.2 服务器控件在软件开发过程中的作用 1 1.3 在控件开发中提升自己 2 1.4 可继承控件基类介绍 2 1.5 运行一个简单的控件 7 1.5.1 开发一个简单控件 7 1.5.2 部署和运行 11 1.6 控件生命周期 12 1.6.1 概述 12 1.6.2 用代码跟踪控件生命周期过程 14 1.7 本章总结 17 第2章 服务器控件开发中的调试技术 18 2.1 预置代码示例 18 2.2 调试页面服务端代码 19 2.3 服务器控件的调试 20 2.3.1 运行模式下的调试方法 20 2.3.2 设计模式下的调试方法 20 2.4 javascript脚本调试方法 22 2.4.1 调试页面中的javascript脚本(方法一) 22 .2.4.2 调试页面中的javascript脚本(方法二) 23 2.4.3 调试非嵌入式javascript脚本文件 23 2.4.4 调试嵌入式javascript脚本资源文件 24 2.4.5 高效率调试的技巧 24 2.5 ajax library对javascript调试支持 26 2.6 本章总结 26 第3章 从零开始开发服务器控件 27 3.1 选择基类 27 3.2 控件呈现顺序 28 3.3 render呈现控件的几种方式 30 3.3.1 使用htmltextwriter类输出 30 3.3.2 直接输出html标签 32 3.3.3 使用服务器控件的rendercontrol方法 33 3.4 addattributestorender方法 34 3.5 createchildcontrols方法 35 3.6 inamingcontainer接口 36 3.7 实现复合控件 38 3.7.1 createchildcontrols方法 39 3.7.2 childcontrolscreated属性 39 3.7.3 ensurechildcontrols方法 39 3.7.4 recreatechildcontrols方法 39 3.7.5 controls属性 40 3.7.6 hascontrols方法 40 3.7.7 hasevents方法 40 3.7.8 findcontrol方法 41 3.7.9 实现复合控件示例 41 3.8 常用开发技巧 51 3.8.1 designmode属性 51 3.8.2 屏蔽基类控件中的属性 52 3.8.3 page.request.browser属性 53 3.8.4 设置控件id规范 53 3.8.5 增强findcontrol功能 54 3.8.6 映射服务端控件值到客户端 55 3.8.7 禁止派生自compositecontrol的控件创建子控件 56 3.8.8 使用createchildcontrols的注意事项 56 3.8.9 不要误解设计元属性defaultvalue 57 3.8.10 在render方法中利用基类资源 57 3.8.11 条件编译&条件属性 60 3.9 本章总结 61 第4章 服务器控件属性 62 4.1 控件属性的作用 62 4.1.1 系统属性 62 4.1.2 自定义属性 62 4.2 简单属性 63 4.3 属性的设计时特性 64 4.4 复杂属性 67 4.4.1 概述 67 4.4.2 复杂属性的几种标记形式 67 4.4.3 深入研究——复杂属性分析器 79 4.5 深入研究——定制自己的属性编辑器 85 4.5.1 系统属性编辑器 85 4.5.2 定制属性编辑器 91 4.6 类型转换器 126 4.6.1 系统类型转换器 126 4.6.2 定制自己的类型转换器 128 4.7 实现自定义属性 138 4.8 本章总结 145 第5章 事件和数据回发机制 146 5.1 控件事件和数据回发概述 146 5.1.1 事件及其意义 146 5.1.2 数据回发机制 147 5.2 事件和数据回发机制的实现 148 5.2.1 客户端回传事件接口ipostbackeventhandler 148 5.2.2 客户端回发/回调揭密 150 5.2.3 回传数据处理接口ipostbackdatahandler 153 5.2.4 正确处理继承基类中控件的事件 159 5.2.5 扩展kingtextbox控件功能(kingtextboxcanpostevent控件) 161 5.3 复合控件的事件处理机制

111,111

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧