现在有A和B页面,B是模式界面!
有一控件C,C是加载在A中的,我把弹出模式窗体的代码(OpenForm)写在A页面中的,在C控件中调用A页面的函数OpenForm,可以打开B页面,但是我如何在接收返回值,我想在C控件中知道返回的结果值,谢谢!我调试过,在A页面的OpenForm函数中是可以接收到返回值的,不过我不知道控件如何才能获得值!我这样做的目的就是A是一个主界面(弹出模式窗体的代码OpenForm函数写在A页面里面),以后所有业务数据都做成控件在A中加载,弹出页面时调用A主页面的OpenForm方法,但我现在要把返回值传到控件中,我不知道如何处理,请大家帮忙,谢谢!
有一控件C,C是加载在A中的,我把弹出模式窗体的代码(OpenForm)写在A页面中的,在C控件中调用A页面的函数OpenForm,可以打开B页面,但是我如何在接收返回值,我想在C控件中知道返回的结果值,谢谢!我调试过,在A页面的OpenForm函数中是可以接收到返回值的,不过我不知道控件如何才能获得值!我这样做的目的就是A是一个主界面(弹出模式窗体的代码OpenForm函数写在A页面里面),以后所有业务数据都做成控件在A中加载,弹出页面时调用A主页面的OpenForm方法,但我现在要把返回值传到控件中,我不知道如何处理,请大家帮忙,谢谢!
解决方案 »
- 求 个功能强大的 自定义分页
- html拼接问题
- Accordion控件
- 三层架构的问题
- c#如何返回自动编号的值
- datagrid按钮列问题?看看能不能实现!?
- [求] 有没有针对 DataGrid 的书籍?-》双手奉上最后20分了!
- 请问如何让一个表格的行移上鼠标是一种色,移走是另一种色,选定后又是一种色,这种代码是什么,哪儿有例子,谢谢了!
- 大家帮忙看看好吗,小女子非常的感谢!
- Windows 2008 R2 +iis7发布.net开发的应用程序,出现读取目录文件访问被拒绝问题,请高手协助!
- 大家来讨论communityserver这个开源项目啊。。。。。。
- visual studio 2005 开发的网站生成之后没有dll文件
页面b在被打开的modaldialog中加载,然后通过修改window.dialogArgments将值返回给页面a
关键:window.dialogArgments对象是objArg对象的引用(当然也可以通过window.returnValue返回值)// a.aspx
......
<HTML>
<HEAD>
<title>a</title>
<meta name="GENERATOR" Content="Microsoft Visual Studio .NET 7.1">
<meta name="CODE_LANGUAGE" Content="C#">
<meta name="vs_defaultClientScript" content="JavaScript">
<script language="javascript"">
<!--
var DialogFeatures ="center:yes;dialogHide:yes;edge:raised;help:no;resizable:no;scroll:yes;status:no;";
var objArg;
// create html dialog
function fnShowDialog(url, oWindow, fun)
{
objArg = new Object();
objArg.window = oWindow;
objArg.reload = true;
if( showModalDialog(url, objArg, DialogFeatures) == true)
{
eval(fun);
return true;
}
else
return false;
} /* 对于不同的相应,fun是可以有所不同的 */
function fun1()
{
window.document.getElementById("Text1").value = objArg.rv;
} function fun2()
{
window.document.forms[0].submit();
}
//-->
</script>
</HEAD>
<body MS_POSITIONING="GridLayout">
<form id="Form1" method="post" runat="server">
<INPUT id="Text1" type="text" name="Text1"> <INPUT id="Button1" onclick="fnShowDialog('b.aspx',window ,'fun1()');" type="button"
value="Button1" style="Z-INDEX: 101"> <INPUT id="Button2" onclick="fnShowDialog('b.aspx',window ,'fun2()');" type="button"
value="Button2" style="Z-INDEX: 102">
</form>
</body>
</HTML>// b.aspx
......
<HTML>
<HEAD>
<title>b</title>
<meta content="Microsoft Visual Studio .NET 7.1" name="GENERATOR">
<meta content="C#" name="CODE_LANGUAGE">
<meta content="JavaScript" name="vs_defaultClientScript">
<meta content="http://schemas.microsoft.com/intellisense/ie5" name="vs_targetSchema">
<base target="_self">
<script language="javascript"">
<!--
function fun()
{
window.returnValue=true;
window.dialogArguments.rv = "aa";
window.close();
}
//-->
</script> </HEAD>
<body>
<form id="Form1" method="post" runat="server">
<INPUT type="button" value="Button" onclick="fun();" ID="Button1" NAME="Button1">
</form>
</body>
</HTML>
你给我的代码应该也是两个页面之间参数的传递吧(也许我没看明白)?我想要把返回的值传递到A页的C控件中,请问我该如何做?我现在这边程序设计的方式是,我有一个body.aspx页面,通过这个页面我可以加载所有的业务数据(我把业务数据操作的界面都做成了控件),我可以要加载业务数据之前做很多操作,这些操作我只需在body.aspx中做就好了(比如说我做用户身份验证等操作),当然如果有好的方法也可以告诉我!谢谢了!
Func(showModalDialog(.......))
在此函數中再處理
document.all.c.value = window.returnValue;
但修改objArg是通过修改window.dialogArguments来实现的,因为objArg和window.dialogArguments是同一个对象。
例如:window.dialogArguments.rv = "aa";3、对话框关闭后,回到a页时,可以读取objArg的数据,对a页的控件操作,修改相应的值。
例如:
function fun1()
{
window.document.getElementById("Text1").value = objArg.rv;
}
function fnShowDialog(url, oWindow, fun)
{
objArg = new Object(); if( showModalDialog(url, objArg, DialogFeatures) == true)
{
val(fun);
return true;
}
else
return false;
}
fun()
{
……
}
中添加处理,从objArg中获取返回值,传回到相应的控件
function fun1()
{
window.document.getElementById("Text1").value = objArg.rv;
}
{
window.document.getElementById("Text1").value = objArg.rv;
}我试了,不行!