zoukankan
html css js c++ java
Asp.net中,从弹出窗体取选择值
在Asp.net中,从A页面中弹出B页面,在B页面中选择数据后,关闭并将数据更新到A页面,是一种常用 的方式。只是我对Javascript不熟悉,所以捣鼓了一下午,终于有了一点成绩:
测试项目有两个页面:Default.aspx及Default2.aspx,在Default.aspx页面上有一个TextBox1及一个Button1,Button1用于触发Default2.aspx,TextBox1用于接收从子页面传回的值。
Button1的代码如下:
StringBuilder s
=
new
StringBuilder();
s.Append(
"
<script language=javascript>
"
);
s.Append(
"
var a=window.showModalDialog('Default2.aspx');
"
);
s.Append(
"
if(a!=null)
"
);
s.Append(
"
document.all('TextBox1').value=a;
"
);
s.Append(
"
</script>
"
);
Type cstype
=
this
.GetType();
ClientScriptManager cs
=
Page.ClientScript;
string
sname
=
"
lt
"
;
if
(
!
cs.IsStartupScriptRegistered(cstype, sname))
cs.RegisterStartupScript(cstype, sname, s.ToString());
Default2.aspx页面内有一个CheckBoxList1及一个Button1,Button1执行返回选择的CheckBoxList1的值,并将当前页面关闭。
代码如下:
protected
void
Button1_Click(
object
sender, EventArgs e)
{
StringBuilder s
=
new
StringBuilder();
s.Append(
"
<script language=javascript>
"
+
"
\n
"
);
s.Append(
"
window.returnValue='
"
+
this
.GetSelectValue()
+
"
';
"
+
"
\n
"
);
s.Append(
"
window.close();
"
+
"
\n
"
);
s.Append(
"
</script>
"
);
Type cstype
=
this
.GetType();
ClientScriptManager cs
=
Page.ClientScript;
string
csname
=
"
ltype
"
;
if
(
!
cs.IsStartupScriptRegistered(cstype, csname))
cs.RegisterStartupScript(cstype, csname, s.ToString());
}
private
string
GetSelectValue()
{
string
rvalue
=
""
;
for
(
int
i
=
0
; i
<
this
.CheckBoxList1.Items.Count; i
++
)
{
if
(
this
.CheckBoxList1.Items[i].Selected)
{
if
(rvalue
==
""
)
rvalue
+=
this
.CheckBoxList1.Items[i].Text;
else
rvalue
+=
"
,
"
+
this
.CheckBoxList1.Items[i].Text;
}
}
return
rvalue;
}
此时执行程序,在Default2.aspx中不会关闭且不能传回值,很重要的一点:
在head中,加入这一行:
<
base
target
=
"
_self
"
/>
查看全文
相关阅读:
[SCOI2005]栅栏
状压dp常用操作
[SCOI2005]互不侵犯
欧拉函数
hdu5179 beautiful number
hdu4460 Friend Chains
exgcd详解
hdu6468 zyb的面试
hdu1978 How many ways
hdu1312 Red and Black
原文地址:https://www.cnblogs.com/wjhx/p/777968.html
最新文章
浅读《视觉SLAM十四讲:从理论到实践》--操作1--初识SLAM
win7 64 位 + vs2015 + opencv3.2
VS2015密匙--VS2015打开丢失msvcp140.dll--cannot find one or more components ,please reinstall the application
NSSL的单向认证和双向认证
MySQL基础
Smaba学习
Docker 问题处理
Docker 构建镜像
Docker学习
Kubernetes留言板
热门文章
Kubernetes的安装配置
docker问题处理
zabbix的安装
LOJ#2362. 「NOIP2016」蚯蚓
NOIP 历年真题一句话题解
LOJ#10045. 「一本通 2.2 练习 1」Radio Transmission
LOJ#2452. 「POI2010」反对称 Antisymmetry
模板备份
洛谷P1593 因子和 & POJ1845 Sumdiv
POJ3322 Bloxorz I
Copyright © 2011-2022 走看看