zoukankan
html css js c++ java
(补充)移除动态添加的控件
好像问动态添加控件的人很多,问题大多集中
(1)动态添加的按钮不能提交
(2)动态添加的文本框取不到值
(3)动态添加的控件页面刷新后消失
(4)动态添加的控件页面刷新重复添加
(5)动态添加的控件不知道怎么移除
问题百出,但是其实这些都是非常简单的,可能疏忽了一点两点,补充以前写的2篇文章(以前写的比较乱)
这个页面实现:
点击添加按钮-》添加一个文本框一个提交按钮-》点击提交按钮输出文本框值
点击删除按钮(就是前面那个添加按钮)-》移除文本框和提交按钮
using
System;
using
System.Collections;
using
System.ComponentModel;
using
System.Data;
using
System.Drawing;
using
System.Web;
using
System.Web.SessionState;
using
System.Web.UI;
using
System.Web.UI.WebControls;
using
System.Web.UI.HtmlControls;
namespace
csdn2
{
/**/
///
<summary>
///
WebForm65 的摘要说明。
///
</summary>
public
class
WebForm65 : System.Web.UI.Page
{
protected
System.Web.UI.WebControls.Button Button1;
private
void
Page_Load(
object
sender, System.EventArgs e)
{
if
(Page.IsPostBack)
{
if
(ViewState[
"
adduc
"
]
!=
null
)
{
adduc();
}
}
}
Web 窗体设计器生成的代码
#region
Web 窗体设计器生成的代码
override
protected
void
OnInit(EventArgs e)
{
//
//
CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base
.OnInit(e);
}
/**/
///
<summary>
///
设计器支持所需的方法 - 不要使用代码编辑器修改
///
此方法的内容。
///
</summary>
private
void
InitializeComponent()
{
this
.Button1.Click
+=
new
System.EventHandler(
this
.Button1_Click);
this
.Load
+=
new
System.EventHandler(
this
.Page_Load);
}
#endregion
private
void
Button1_Click(
object
sender, System.EventArgs e)
{
if
(ViewState[
"
adduc
"
]
==
null
)
{
adduc();
ViewState[
"
adduc
"
]
=
1
;
}
else
{
deluc();
ViewState[
"
adduc
"
]
=
null
;
}
}
private
void
Button2_Click(
object
sender, System.EventArgs e)
{
TextBox t
=
(TextBox)Page.FindControl(
"
t
"
);
if
(t
!=
null
)Response.Write(t.Text);
}
public
void
adduc()
{
TextBox t
=
new
TextBox();
t.ID
=
"
t
"
;
Page.Controls[
1
].Controls.Add(t);
this
.Button1.Text
=
"
删除
"
;
Button b
=
new
Button();
b.Text
=
"
提交
"
;
b.ID
=
"
b
"
;
b.Click
+=
new
System.EventHandler(
this
.Button2_Click);
Page.Controls[
1
].Controls.Add(b);
}
public
void
deluc()
{
Page.Controls[
1
].Controls.Remove(Page.FindControl(
"
t
"
));
Page.Controls[
1
].Controls.Remove(Page.FindControl(
"
b
"
));
this
.Button1.Text
=
"
添加
"
;
}
}
}
欢迎大家阅读我的极客时间专栏
《Java业务开发常见错误100例》
【全面避坑+最佳实践=健壮代码】
查看全文
相关阅读:
怎么防止重复提交
JSP三大指令是什么?
python中字符串的编码和解码
什么是 JavaConfig?
Spring Boot 有哪些优点?
如何重新加载 Spring Boot 上的更改,而无需重新启动服务器?
Mybatis 动态 sql 是做什么的?都有哪些动态 sql?能简述一下动态 sql 的执行原理不?
如果你也用过 struts2.简单介绍下 springMVC 和 struts2 的区别有哪些?
学习笔记——命令模式Command
学习笔记——中介者模式Mediator
原文地址:https://www.cnblogs.com/lovecherry/p/152455.html
最新文章
串行(serial)收集器和吞吐量(throughput)收集器的区别是什么?
线程同步的方法
你所了解的数据源技术有那些?使用数据源有什么好处?
举一个多对多关联的例子,并说明如何实现多对多关联映射。
延迟加载与session关闭的矛盾一般可以这样处理:
如何理解Hibernate的延迟加载机制?在实际应用中,延迟加载与Session关闭的矛盾是如何处理的?
如果你也用过struts2.简单介绍下springMVC和struts2的区别有哪些?
SpringMvc的控制器是不是单例模式,如果是,有什么问题,怎么解决?
7 分区Partitions
6 表空间 Tablespace
热门文章
5 索引Indexes
4 视图 Views
3 表和列Tables and Table Columns
2 命名前缀规范
数据库命名规范--通用
多态性
当一个线程进入一个对象的synchronized方法A之后,其它线程是否可进入此对象的synchronized方法B?
synchronized关键字的用法?
动态横切
Class类的常用方法?
Copyright © 2011-2022 走看看