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
"
/>
查看全文
相关阅读:
生成一个四位数的随机验证码
计算阶乘
四种排序(冒泡、插入、递归、选择)
Java基础面试被常问到知识点
Qt中的坐标系统
a message box to confirm the action
点击按钮退出窗口
为部件提供浮动提示信息
在窗口标题栏的左上方显示图标
PyQt5显示一个空白的窗口
原文地址:https://www.cnblogs.com/wjhx/p/777968.html
最新文章
[爬虫]请求返回521解决方法
MD5_Util工具类代码
MAVEN 加载公共包 commons
Fiddler 抓包工具总结
wireshark抓包工具详细说明及操作使用
HTTP STATUS CODE: 521的解决办法
37mysql 表操作
35 协程
并发爬取直聘网招聘信息
29 Socketserver和 ftp
热门文章
28 粘包
27 网络通信协议 tcp udp subprocess
30 进程process
31 锁,信号量,事件,队列
32 管道 共享数据 进程池
26 网络通信
比较不错的组件与框架
Jackson 框架,轻易转换JSON
存储过程
查询用户是否存在引发的问题
Copyright © 2011-2022 走看看