zoukankan
html css js c++ java
动态添加控件并获取其值
google
注意:
1.aspx页面<%Page%>里必须添加
EnableViewState="true"
,
使动态添加的控件状态可保存
2.动态添加的控件最好
放在容器上
(这里用Panel这个容器)
3.必须
设置动态控件的ID
,否则获取不到该控件
建议:运用
Asp.net Ajax
会有
更好的用户体验效果
例子:
test2.aspx:
<%
@ Page Language
=
"
C#
"
AutoEventWireup
=
"
true
"
CodeFile
=
"
Test2.aspx.cs
"
Inherits
=
"
Test2
"
Title
=
"
Untitled Page
"
EnableViewState
="true"
%>
<
asp:Panel ID
=
"
Panel2
"
runat
=
"
server
"
Height
=
"
50px
"
Width
=
"
446px
"
>
<
asp:Label ID
=
"
Label1
"
runat
=
"
server
"
Text
=
"
Name1:
"
></
asp:Label
>
<
asp:TextBox ID
=
"
TextBox1
"
runat
=
"
server
"
></
asp:TextBox
>
<
asp:Label ID
=
"
Label2
"
runat
=
"
server
"
Text
=
"
Address1:
"
></
asp:Label
>
<
asp:TextBox ID
=
"
TextBox2
"
runat
=
"
server
"
Width
=
"
149px
"
></
asp:TextBox
><
br
/>
</
asp:Panel
>
<
asp:Button ID
=
"
btnAddAjax
"
runat
=
"
server
"
Text
=
"
Add
"
OnClick
=
"
btnAddAjax_Click
"
/>
<
asp:Button id
=
"
btnShow
"
onclick
=
"
btnShow_Click
"
runat
=
"
server
"
Text
=
"
Show
"
/>
<
asp:Label id
=
"
lblMsg
"
runat
=
"
server
"
>
No Value
</
asp:Label
>
test2.aspx.cs
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;
public
partial
class
Test2 : System.Web.UI.Page
{
protected
void
Page_Load(
object
sender, EventArgs e)
{
if
(ViewState[
"
txtName2
"
]
!=
null
&&
(
bool
)ViewState[
"
txtName2
"
])
{
CreateMyControls();
}
}
protected
void
btnAddAjax_Click(
object
sender, EventArgs e)
{
CreateMyControls();
}
protected
void
btnShow_Click(
object
sender, EventArgs e)
{
if
(ViewState[
"
txtName2
"
]
!=
null
)
{
TextBox txtName2
=
Panel2.FindControl(
"
txtName2
"
)
as
TextBox;
if
(txtName2
!=
null
)
lblMsg.Text
=
"
Name2=
"
+
txtName2.Text;
}
if
(ViewState[
"
txtAddr2
"
]
!=
null
)
{
TextBox txtAddr2
=
Panel2.FindControl(
"
txtAddr2
"
)
as
TextBox;
if
(txtAddr2
!=
null
)
lblMsg.Text
+=
"
Addr2=
"
+
txtAddr2.Text;
}
}
private
void
CreateMyControls()
{
Label lblName2
=
new
Label();
lblName2.Text
=
"
Name2:
"
;
TextBox txtName2
=
new
TextBox();
//
设置ID,否则不能获取到值
txtName2.ID
= "txtName2"
;
//
可视状态,否则PostBack后动态添加的控件会不见
ViewState[
"txtName2"]= true
;
Label lblAddr2
=
new
Label();
lblAddr2.Text
=
"
Addr2:
"
;
查看全文
相关阅读:
vSphere vCenter的个人理解及问题
服务器账号过期处理
虚拟化初探引入
win10虚拟机跨网段迁移
win7远程执行win10的抓取代码
Jenkins+Sonar质量门禁【实践篇pipeline版】
ELK7.10 license过期处理
php 0108
php 0110
php 0111
原文地址:https://www.cnblogs.com/sinkzephyr/p/862626.html
最新文章
在Vue退出组件前,将不为空的参数保存到本地
provide inject
月亮
触发表单验证
代码尽量在一行
hhh
ansible
MySQL特定表全量、增量同步到消息队列解决方案
windows个人笔记本压测hbase随机访问高并发压测
impala通过jdbc写入效率低下优化
热门文章
kudu+impala 27亿条数据的高并发海量分析压测
doris未预热查询性能验证
针对一百万以内数据高频变化、聚合统计、实时性要求的解决方案
TDEngine和MySQL单表100万数据查询性能比较
doris10亿条数据量,每天100万条,按照时间天分组统计
impala表关联join优化1
protobuf和json字符串大小对比
Jenkins+Sonar质量门禁【部署篇】
服务器和mysql权限控制
Jenkins+Sonar质量门禁【实践篇maven版】
Copyright © 2011-2022 走看看