读书人

关于AJAX控件的有关问题

发布时间: 2011-12-13 21:22:18 作者: rapoo

关于AJAX控件的问题

C# code
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吗?只要能动态的生成和读取就行了,谢谢大家了。

[解决办法]
写javascript脚本异步发送到服务端通过requist获取数据再进行相应的操作
[解决办法]
http://www.360doc.com/content/080605/19/59179_1312206.htmlhttp://www.cnblogs.com/nasdaqhe/archive/2006/11/17/563592.html
百度:asp.net动态生成控件
[解决办法]
在服务器控件事件里面写
request.Form["你的客户端控件名称"]获取对应的控件值
[解决办法]
C# code
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";                }            } 

读书人网 >C#

热点推荐