首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 .NET Java 游戏 视频 人才 外包 培训 数据库 书店 程序员
中国软件网
欢迎您:游客 | 登录 注册 帮助
  • 主页面弹出问题!完成给分! [已结贴,结贴人:nellstoke]
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-04-11 14:17:17 楼主
    现在在做一个项目!够怄气的了,有个十分严重的地方出现问题,具体如下:

    一个名为page.aspx的页面,现在在这个页面里面有个名为btn_searchWeb控件存在,它的作用主要是:点击它后在page.aspx的最前端显示一个页面,而且在显示该页面的时候,page.aspx页面的背景色是灰色,且无法相应用户的任何操作,只有在把这个显示在最前端的页面关闭。才恢复成可编辑状态,而且,在该页面中有个显示数据库中的数据表格,在鼠标点击该表格中某一行时,记录并且关闭页面然后返回该行数据的'id','name','password'等有关数据,分别显示在page.aspx页面中的txt_id,txt_name,txt_pwd等文本控件。

    问题:
    1,如何完成在父页面page.aspx中通过点击按钮弹出包含文本,下拉,单选按钮等可编辑元素的子页面呢?(注意,是在page.aspx页面弹出这个页面,不是新建一个页面然后弹出)。
    2,这个页面包含一个专门负责显示数据库中某个表的数据(暂时名为:infor表)的数据表格,是可选定的表格,请问如何做鼠标点击后该页面关闭返回鼠标所点击的相关行的数据的相应字段数据然后返回到page.aspx相应控件中。
    3,请问,这个弹出的窗体应该怎么构建,这个构建包括:文本框,下拉菜单,单选框还有类似于水晶报表或者gridview这个数据表格容器。

    (如果是AJAX方式写,可否明确标明是用什么控件完成,刚接触AJAX,控件不了解;如果是JS方式写,请加上注释好不。)

    万分感谢,如果能解决,我想结交这个朋友,请mail我:nellstoke@126.com
    100  修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-04-11 14:25:441楼 得分:0
    主页面
    <script language="javascript" type="text/javascript">
      function vv()
      {     
      showModalDialog('downs.aspx','down','dialogWidth:400px;dialogHeight:300px;center:yes;help:no;resizable:no;status:no')

      }
    </script>

    子页面
    <script language="javascript" type="text/javascript">
    function cc()
    {
       
        /* 正确赋值*/
            var newoption=window.dialogArguments.document.createElement("Option")
    newoption.text=document.getElementById('s2').value;
    window.dialogArguments.document.getElementById("ss").options.add(newoption);

    /*子窗体将值传回父窗体,由父窗体处理*/
    window.returnValue= document.getElementById('s2').value;
       
        window.close();
    }
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-04-11 14:26:332楼 得分:0
    呵呵,这个东西挺常见的,网上应该挺多吧。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-04-11 14:30:253楼 得分:0
    如果用微软的AJAX,可用ModalPopupExtender控件.把要弹出窗体的控件放在一个Panel中就可以.
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • ysn1314
    • 等级:
    发表于:2008-04-11 14:41:034楼 得分:0
    UP
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-04-11 14:48:215楼 得分:50
    1楼的js正确
    详细给你解释一下:
    1.父页page.aspx
    你的btn_searchWeb按钮如果是服务器控件,则给该按钮添加 OnClientClick="return vv()",
    如果是html按钮则添加 onclick="vv()"
    例如: <asp:Button ID="btn_searchWeb" runat="server" OnClientClick="return vv()">
    父页page.aspx的javascript:

    JScript code
    function vv() { var result=showModalDialog('subpage.aspx','subpage','dialogWidth:400px;dialogHeight:300px;center:yes;help:no;resizable:no;status:no'); //打开模态子窗体,并获取返回值 document.getElementById("txt_id").value=result.split("'")[0]; //返回值分别赋值给相关文本框 document.getElementById("txt_name").value=result.split("'")[1]; document.getElementById("txt_pwd").value=result.split("'")[2]; }



    2.子页subpage.aspx

    JScript code
    function cc(infor_id,infor_name,infor_psw) //参数分别为id,name和password { window.returnValue= infor_id+"'"+infor_name+"'"+infor_psw; //返回值 window.close(); }


    在子页的gridview的rowdatabound事件里添加代码(假设gridview的第1列是id,第2列是name,第3列是password)
    C# code
    if (e.Row.RowType == DataControlRowType.DataRow) { e.Row.Attributes.Add("onclick", "cc('" + this.GridView1.Rows[0].Cells[0].Text + "','" + this.GridView1.Rows[0].Cells[1].Text + "','" + this.GridView1.Rows[0].Cells[2].Text + "')"); }

    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-04-11 15:09:116楼 得分:0
    ls讲的很详细
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-04-11 15:09:297楼 得分:0
    sry...
    刚才粗心写错了,非常抱歉..
    子页subpage.aspx中的gridview的rowdatabound事件里的应该这样写
    C# code
    if (e.Row.RowType == DataControlRowType.DataRow) { e.Row.Attributes.Add("onclick", "cc('" + e.Row.Cells[0].Text + "','" + e.Row.Cells[1].Text + "','" + e.Row.Cells[2].Text + "')"); }
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-04-11 15:12:458楼 得分:0
    刚才已经测试了5楼的方法,基本上正确。
    搂主不要不要忘了在 <html>标签后面加上 <base target="_self">这句话,否则的话,关闭弹出窗口的时候会出现一个新窗口。
    还有:
    在主页面的js中:
    showModalDialog('subpage.aspx','subpage'....
    这个subpage是一个变量,搂住可以改成任意的变量,如:可以根据这个变量在弹出的新窗口中作为数据库的查询条件或者是选择数据库表。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • JustLovePro
    • 等级:
    发表于:2008-04-11 15:30:219楼 得分:0
    我也测试通过,
    学习了~
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-04-11 16:26:1410楼 得分:0
    The ModalPopupExtender in Microsoft's ajax control toolkit is recommended.
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-04-11 16:38:2711楼 得分:0
    我不是用showModalDialog解决的
    效果图如下:
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-04-11 16:48:2212楼 得分:50
    我不是用showModalDialog解决的

    图片发不了 郁闷
    从这个网址看吧,包括源代码(c#)下载
    http://blog.csdn.net/ycs0501/archive/2008/04/11/2282768.aspx
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-04-11 16:54:5513楼 得分:0
    学习了
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-04-11 16:57:4414楼 得分:0
    引用 8 楼 zhuanshen712 的回复:
    刚才已经测试了5楼的方法,基本上正确。
    搂主不要不要忘了在 <html>标签后面加上 <base target="_self">这句话,否则的话,关闭弹出窗口的时候会出现一个新窗口。
    还有:
    在主页面的js中:
    showModalDialog('subpage.aspx','subpage'....
    这个subpage是一个变量,搂住可以改成任意的变量,如:可以根据这个变量在弹出的新窗口中作为数据库的查询条件或者是选择数据库表。


    这个比较简便!
    修改 删除 举报 引用 回复

    网站简介广告服务网站地图帮助联系方式诚聘英才English 问题报告
    世纪乐知(北京)网络技术有限公司 版权所有 京 ICP 证 020026 号
    Copyright © 2000-2007, CSDN.NET, All Rights Reserved