asp.net
  • popup
  • modal-dialog
  • 2013-06-12 198 views 3 likes 
    3

    我正在使用asp.net创建网站。如果用户单击登录链接,我正在调用模态对话框。如何将值从模态对话框传递给父页面

    这是我的showModalDialog脚本。

    <li><a onclick="popup()"href="#">LOGIN</a></li> 
    
    
    <script type="text/javascript"> 
    function popup() { 
        var style = 'dialogWidth:350px;dialogHeight:100px;dialogleft:200px;dialogtop:200px;status:no;help:no;'; 
        var respond = window.showModalDialog("login.aspx", this, '', style); 
    
    } 
    

    登录页面包括文本框输入用户名和密码,按钮登录按钮。在检查数据库中的用户名和密码后,我的问题是如何使用后面的代码(.cs)将值从弹出页面传递到父页面(布尔和字符串数据类型)。如果将值传递给父页面后可能会加载成员资格页面(如果boolean = true)。

    在此先感谢。

    +0

    你的意思是你想通过var响应cs? –

    +0

    不,我在登录页面有一个按钮,我希望所有的代码都来自.cs,并且该值将传递给var响应。 – MMakati

    +0

    我很抱歉,但我很难打开你想要的东西。 –

    回答

    1

    你能在代码中暴露的布尔背后的属性,它在呈现页面时则该属性将只是即

    任何其他JavaScript基准然后可以直接写入网页即

    window.returnValue = '<%=MyPublicProperty%>;' 
    

    window.returnValue = 'thePropertyValue'; 
    

    因此,模态对话框返回类型将反映在后面的代码

    另一个变体是使用ClientScript对象写入背后变量的代码为标识,所以它是提供给客户从模态对话框

    ClientScript.RegisterClientScriptBlock(this.GetType(), "example", 
    string.Format("var codeBehindProperty = '{0}';", MyPublicProperty), true); 
    

    希望是有道理的

    编辑

    并检索返回信息应该是showModalDialog调用的返回值。所以,在你的榜样

    var respond = window.showModalDialog("login.aspx", this, '', style); 
    

    变量respond将包含codeBehindProperty。如果要单步执行代码,那么在模式打开时执行将暂停在showModalDialog处。当它关闭时,执行继续,然后返回值在父页面中可用。

    +0

    感谢您的帮助。我现在的问题是单击按钮后,该值将传递到父页面,但我怎么能在我的页面中使用它(如何检索/捕获数据)? – MMakati

    +0

    没有probs。我编辑了我的答案来帮助 –

    相关问题