如何动态添加子控件(动态添加TextBox控件)

转载 2007年09月24日 12:11:00
<%...@ Page Language="C#" AutoEventWireup="true" CodeFile="InQuiryAdd2.aspx.cs" Inherits="InQuiryManager_InQuiryAdd2" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
      
<title>娣诲姞璋冩煡淇℃伅</title>
    
<link href="../CSS/style.css" rel="stylesheet" type="text/css" />
</head>
<body>
    
<form id="form1" runat="server">
    
<div>
        
<table style="width: 100%">
            
<tr>
                
<td colspan="2"  bgcolor="#5D7B9D" ">
             
<div class="v12WhiteB" style="padding-top: 3px;">
                                                        
<id="A2" href="#"><font color="white">娣诲姞闂</font></a></div>
                
</td>
                
<asp:Label ID="Label1" runat="server" ForeColor="Red" Width="300px"></asp:Label><asp:Label ID="Lbl_WrongMessage" runat="server" ForeColor="Red" Width="300px"></asp:Label></tr>
            
<tr>
                
<td>
                    
<asp:Label ID="Lbl_InQuiryQuestion" runat="server" Height="11px" Text="鏍囥€€棰? Width="67px"></asp:Label></td>
                
<td>
                    
<asp:TextBox ID="Txt_InQuiryQuestion" runat="server" CssClass="ipt120px" Width="218px"></asp:TextBox></td>
            
</tr>
            
<tr>
                
<td>
                    
<asp:Label ID="Lbl_IsShow" runat="server" Text="鏄惁鏄剧ず"></asp:Label></td>
                
<td>
                    
<asp:RadioButton ID="Rad_Yes" runat="server" GroupName="isshow" Text="  鏄? " />
                    
<asp:RadioButton ID="Rad_No" runat="server" GroupName="isshow" Text="  鍚?" /></td>
            
</tr>
            
<tr>
                
<td>
                    
<asp:Label ID="Lbl_CheckType" runat="server" Text="閫夐」绫诲瀷"></asp:Label></td>
                
<td>
                    
<asp:RadioButton ID="Rad_CheckOne" runat="server" GroupName="CheckType" Text="鍗曢€? />
                    <asp:RadioButton ID="
Rad_CheckMore" runat="server" GroupName="CheckType" Text="澶氶€? /></td>
            </tr>
            <tr>
                <td colspan="
2" bgcolor="#5D7B9D">
                       
<div class="v12WhiteB" style="padding-top: 3px;">
                                                        
<id="A1" href="#"><font color="white">娣诲姞閫夐」</font></a></div>
                
</td>
            
</tr>
            
<tr>
                
<td>
                    
<asp:DataList ID="DataList1" runat="server" OnItemCreated="DataList1_ItemCreated">
                       
                    
</asp:DataList></td>
                
<td>
                    
<asp:Button ID="btn_AddQuestion" runat="server" Text="娣诲姞閫夐」" OnClick="btn_AddQuestion_Click" CssClass="btn80px" /></td>
            
</tr>
            
<tr>
                
<td align="center">
                    
<asp:Button ID="btn_Save" runat="server" Text="鎻愪氦" OnClick="btn_Save_Click" Width="100px" CssClass="btn80px" /></td>
                
<td align="center">
                    
<asp:Button ID="btn_Reset" runat="server" OnClick="btn_Reset_Click" Text="閲嶇疆" Width="100px" CssClass="btn80px" /></td>
            
</tr>
            
<tr>
                
<td align="center" colspan="2">
                    
</td>
            
</tr>
        
</table>
    
    
</div>
    
</form>
</body>
</html>

 

 

 

 

 

using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using BigOA.Logic;

public partial class InQuiryManager_InQuiryAdd2 : System.Web.UI.Page
...{
    
protected void Page_Load(object sender, EventArgs e)
    
...{
        
if (!this.IsPostBack)
        
...{
            DataTable dt 
= new DataTable();
            dt.Columns.Add(
"newcolumns");
            
for (int i = 0; i < 3; i++)
            
...{
                DataRow row 
= dt.NewRow();
                dt.Rows.Add(row);
            }

            
this.DataList1.DataSource = dt;
            
this.DataList1.DataBind();
            ViewState[
"dt"= dt;
        }

    }

    
protected void btn_AddQuestion_Click(object sender, EventArgs e)
    
...{
        DataTable dt 
= (DataTable)ViewState["dt"];
        
for (int i = 0; i < this.DataList1.Items.Count; i++)
        
...{
            TextBox tb 
= (TextBox)this.DataList1.Items[i].Controls[0];
            dt.Rows[i][
0= tb.Text;
        }


        DataRow row 
= dt.NewRow();
        row[
0= "";
        dt.Rows.Add(row);
        ViewState[
"dt"= dt;
        
this.DataList1.DataSource = dt;
        
this.DataList1.DataBind();
    }

    
protected void DataList1_ItemCreated(object sender, DataListItemEventArgs e)
    
...{
        DataRowView drv 
= (DataRowView)(e.Item.DataItem);

        
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
        
...{
            TextBox tmptxt 
= new TextBox();

            
if (drv != null)
            
...{
                tmptxt.Text 
= drv[0].ToString();
            }

            tmptxt.MaxLength 
= 80;
            e.Item.Controls.Add(tmptxt);
        }

    }

    
protected void btn_Save_Click(object sender, EventArgs e)
    
...{


        
try
        
...{
            Lbl_WrongMessage.Text 
= "";
            InQuiryQuestion QuiryQuestion 
= new InQuiryQuestion();
            
if (Txt_InQuiryQuestion.Text.Trim() != "")
            
...{
                QuiryQuestion.Title 
= Txt_InQuiryQuestion.Text.ToString();
            }

            
else
            
...{
                
throw new Exception("璋冩煡鏍囬涓嶈兘涓虹┖锛?);
            }

            
if (Rad_Yes.Checked || Rad_No.Checked)
            
...{
                
if (Rad_Yes.Checked)
                
...{
                    QuiryQuestion.IsShow 
= "鏄?;
                }

                
else
                
...{
                    QuiryQuestion.IsShow 
= "鍚?;
                }

            }

            
else
            
...{
                
throw new Exception("鏄惁鏄剧ず鑷冲皯瑕侀€夋嫨涓€椤癸紒");
            }

            
if (Rad_CheckMore.Checked || Rad_CheckOne.Checked)
            
...{
                
if (Rad_CheckMore.Checked)
                
...{
                    QuiryQuestion.CheckType 
= "澶氶€?;
                }

                
else
                
...{
                    QuiryQuestion.CheckType 
= "鍗曢€?;
                }

            }

            
else
            
...{
                
throw new Exception("绫诲瀷鑷冲皯瑕侀€夋嫨涓€椤癸紒");
            }



            
for (int i = 0; i < this.DataList1.Items.Count; i++)
            
...{
                TextBox txt_tmp 
= (TextBox)this.DataList1.Items[i].Controls[0];
                
if (txt_tmp.Text.Trim() == "")
                
...{
                    txt_tmp.Focus();
                    
throw new Exception("鎮ㄦ病鏈夊~鍐欒皟鏌ラ€夐」!");

                }

            }



            
int id = QuiryQuestion.Insert();

            
for (int i = 0; i < this.DataList1.Items.Count; i++)
            
...{
                TextBox txt_answer 
= (TextBox)this.DataList1.Items[i].Controls[0];
                SaveAnswer(id, txt_answer.Text);
            }


            Page.ClientScript.RegisterStartupScript(
typeof(string), """<script language='javascript'>alert('娣诲姞鎴愬姛');window.location.href=window.location.href;</script>");
            Txt_InQuiryQuestion.Text 
= "";
            Rad_No.Checked 
= false;
            Rad_Yes.Checked 
= false;
            Rad_CheckMore.Checked 
= false;
            Rad_CheckOne.Checked 
= false;
        }

        
catch (Exception ex)
        
...{
            Lbl_WrongMessage.Text 
= ex.Message.ToString();
        }

    }


    
private void SaveAnswer(int questionID, string answer)
    
...{
        
try
        
...{
            Lbl_WrongMessage.Text 
= "";
            InQuiryAnswer QuiryAnswer 
= new InQuiryAnswer();
            QuiryAnswer.Answer 
= answer;
            QuiryAnswer.InQuiryQuestionID 
= questionID;
            QuiryAnswer.Insert();
        }

        
catch (Exception ex)
        
...{
            Lbl_WrongMessage.Text 
= ex.Message.ToString();
        }

    }

    
protected void btn_Reset_Click(object sender, EventArgs e)
    
...{

        Lbl_WrongMessage.Text 
= "";
        Txt_InQuiryQuestion.Text 
= "";
        Rad_Yes.Checked 
= false;
        Rad_No.Checked 
= false;
        Rad_CheckMore.Checked 
= false;
        Rad_CheckOne.Checked 
= false;
        Page.ClientScript.RegisterStartupScript(
typeof(string), """<script language='javascript'>window.location.href=window.location.href;</script>");
        
    }

}

 

 

 

 

C# winform 动态添加控件之GroupBox和TextBox

转自:http://www.cnblogs.com/lj1020/articles/2568885.html 一、添加GroupBox控件   1.实例化并显示   ...
  • u012252959
  • u012252959
  • 2016年01月09日 15:12
  • 2874

GridView中动态添加模板列和其子控件集合

一、实施说明: 1 实施原因: 因为在做一个MOSS WebPart控件时候,遇到一个问题,如何选择需要导出的数据列; GridView的数据源是动态的,所以没有办法静态使用模板列,...
  • y29508968
  • y29508968
  • 2016年12月04日 11:09
  • 905

easyui 动态添加input标签

动态添加easyui控件 这样是无效的,因为easyui没有实时监控,所以必须动态渲染$.parser.parse(); $.parser.parse(context)  //context  ...
  • zengfanwei1990
  • zengfanwei1990
  • 2016年12月22日 12:51
  • 3745

Qt入门:在QMainWindow中动态增加控件

现象: 原来都是直接在QtDesigner里面拖拖拽拽,今天发现竟然不能将创建的控件添加到主界面上。 QTreeView *tree = new QTreeView; QListV...
  • noodle123
  • noodle123
  • 2012年12月05日 16:50
  • 12506

【原创】vb.net 动态控件 事件添加

【原创】vb.net 动态控件 事件添加 添加选项后: 为实现动态添加,所需代码如下(共三个函数): Private selectcond1 As String = "" '厂家 ...
  • linczone
  • linczone
  • 2015年05月22日 16:02
  • 1573

利用JS在web前段动态添加控件

//   var i = 0;         var CoRuType = '';         var CoRuTypes = new Array();         CoRuTypes...
  • u010078133
  • u010078133
  • 2013年08月27日 12:40
  • 948

Android使用addView动态添加组件

在项目开发中,我们经常需要进行动态添加组件,其中可添加的部分有两项:布局和组件  其中,添加的布局主要有RelativeLayout型(相对布局)的和LinearLayout(线性布局)       ...
  • suwu150
  • suwu150
  • 2016年05月08日 22:51
  • 11236

学习记录-Qt窗口控件的动态添加和删除

一般用Qt写软件,使用designer创建一个窗口,拖几个控件进行一下布局就够用了,但有些需求,需要自定义各种类型的控件,并且很多控件需要根据数据的交互,动态的添加和删除,为此学习了一下Qt的实现方法...
  • u013399898
  • u013399898
  • 2016年07月02日 18:28
  • 7798

Android 中动态的向布局中添加控件

先看一下效果图: java代码中的实现过程: import android.app.Activity; import android.graphics.Color; import...
  • zl18603543572
  • zl18603543572
  • 2015年11月19日 09:19
  • 4014

Android开发FrameLayout动态添加控件位置问题

首先FrameLayout的子控件默认都是从左上角显示的,还有最后添加的在最前面显示。 FrameLayout.LayoutParams params         一般是对params进行操作,刚...
  • u010074743
  • u010074743
  • 2017年09月14日 18:45
  • 837
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:如何动态添加子控件(动态添加TextBox控件)
举报原因:
原因补充:

(最多只允许输入30个字)