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
"
/>
查看全文
相关阅读:
Chrome应用商店打不开解决方法
vue中的列表项删除操作
markdown(语法)入门学习:
利用插件(jQuery-ui.js)实现表格行的拖拽排序
div拖拽互换位置(vue)
MarkDown学习
经典算法精讲精练之回溯法求解0-1背包问题
读书笔记——《谁说菜鸟不会数据分析—Python篇》
读书笔记之《统计之美:人工智能时代的科学思维》
读书笔记之《漫画算法:小灰的算法之旅》
原文地址:https://www.cnblogs.com/wjhx/p/777968.html
最新文章
WPF ContextMenu 在MVVM模式中绑定 Command及使用CommandParameter传参
Xamarin原生跨平台概述(精简概述,命中要害。PS:无图)
Axios使用及源码解析
手把手教你实现慕课网导航效果(二)——编码实现
Android Material Design控件学习(一)——TabLayout的用法
Android四大组件之——Activity的生命周期(图文详解)
小技巧——解决Github项目clone慢的问题
30分钟入门Java8之方法引用
Android开发艺术探索笔记——View(二)
Android开发艺术探索笔记—— View(一)
热门文章
理解RxJava:(四)Reactive Android
理解RxJava:(三)RxJava的优点
理解RxJava:(二)Operator,Operator
理解RxJava:(一)基础知识
Android:如何从堆栈中还原ProGuard混淆后的代码
svn报错:privious operation has not finshed;run 'cleanup' if it was interrupted
github新手使用
vue中使用less
vue之watch用法
vue2.0构建单页应用最佳实战
Copyright © 2011-2022 走看看