页面单击按钮弹出modaldialog然后调用ajax处理程序获取数据,给父级页面控件赋值

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="RefTopicList.aspx.cs" Inherits="Project.RefTopicList" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
    <base target="_self" />
        <script src="../jquery/jquery-1.8.0.min.js" type="text/javascript"></script>
    <script type="text/javascript">
        function Change(SCHeckBox, curHidOID) {
            var objs = document.getElementsByTagName("input");
            for (var i = 0; i < objs.length; i++) {
                if (objs[i].type.toLowerCase() == "checkbox")
                    objs[i].checked = false;
            }
            var SelectCheckBoxID = SCHeckBox.id;
            document.getElementById(SelectCheckBoxID).checked = true;
            $("#hidenOIDValue").val(curHidOID);

        }
        function GetHidValue() {

            if ($("#hidenOIDValue").val() != "") {
                returnValue = $("#hidenOIDValue").val();
                window.close();
            }
            else {
                alert(‘至少选择一项‘);
            }

        }
    </script>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <table  border="0" cellspacing="0" cellpadding="0">
            <tr>
                <td class="tb_td_content">
                    <asp:Button ID="QueryWatch"  runat="server" Text="&nbsp;&nbsp;查&nbsp;询&nbsp;&nbsp;" OnClick="QueryWatch_Click" />&nbsp;
                    <input id="btnSure" type="button" value="&nbsp;&nbsp;确&nbsp;定&nbsp;&nbsp;"
                        onclick="GetHidValue();" />
                </td>
            </tr>
        </table>
    </div>
    <div id="DivGridview">
        <asp:GridView ID="CtrlGrid" runat="server" Width="80%" AllowSorting="True" CellPadding="0"
            BorderWidth="1px" BorderStyle="Solid" AutoGenerateColumns="False" OnRowDataBound="CtrlGrid_RowDataBound"
            PageSize="10"  Height="128px">
                      <Columns>
                <asp:TemplateField HeaderText="选择">
                    <ItemTemplate>
                        <asp:HiddenField runat="server" ID="hidenCheckOID" Value=‘<%#Eval("ID") %>‘ />
                        <asp:CheckBox runat="server" ID="chkSelect" />
                    </ItemTemplate>
                    <HeaderStyle Wrap="False" Width="60px" HorizontalAlign="Center" />
                    <ItemStyle Wrap="false" Width="60px" HorizontalAlign="Center" />
                </asp:TemplateField>
                  <asp:TemplateField HeaderText="名称">
                    <ItemTemplate>
                        <asp:Label ID="lblTopicName" runat="server" Text=‘<%# Eval("NAME")%>‘></asp:Label>
                    </ItemTemplate>
                    <HeaderStyle Wrap="false" Width="100px" HorizontalAlign="Center" />
                    <ItemStyle Wrap="false" Width="150px" HorizontalAlign="Center" />
                </asp:TemplateField>
                         </Columns>
        </asp:GridView>
    </div>
    <asp:HiddenField ID="hidenOIDValue" runat="server" />
    </form>
</body>
</html>


<%@ Page Language="C#" AutoEventWireup="true" CodeFile="EditProjectInfo.aspx.cs"     Inherits="EditProjectInfo" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> 

<head id="Head1" runat="server">    

<title></title>     

<link href="../../Themes/Default/control.css" rel="stylesheet" type="text/css" />     

<link href="../../Themes/Default/ui.css" rel="stylesheet" type="text/css" />    

<script src="../../Scripts/My97DatePicker/WdatePicker.js" type="text/javascript"></script>   

  <script src="../../Scripts/jquery/jquery-1.8.0.min.js" type="text/javascript"></script>     

<script src="../../Scripts/Validate/ControlValidate.js" type="text/javascript"></script>    

<link href="../../Themes/Default/controlvalidate.css" rel="stylesheet" type="text/css" /> 

    <script type="text/javascript">     

    $(document).ready(function () {          

      var typevalue=<%=base.GetParaValue("type") %>;          //后台传值判断是添加还是编辑             

//0代表是编辑,页面上的选择按钮隐藏      

if (typevalue == "0")       

         {             

    $("#btnSelect").hide();              

   }                        

else{          

//单击选择按钮弹出要选择的信息,选中之后在该页面获取该信息

      $("#btnSelect").click(function () {               

       var oidd = window.showModalDialog(‘RefTopicList.aspx‘,"", ‘dialogWidth=900px;dialogHeight=650px;help=no;location=no;scroll=no;resizable=no‘);         

             if (oidd != undefined && oidd != "") {                                

              GetTopicJson(oidd);          //调用处理程序的方法,用json解析获取数据        

    }                  });            

  }          

     });        

  function GetTopicJson(oid) {          

    $.ajax({             

     type: "post",            

      url: "HandlerRefTipic.ashx?OID="+oid ,                

  dataType: "json",                

  success: function (data) 

{                      

      $("#txtprojectName").val(data[0].TOPIC_NAME);                             

               },                

  error: function (XMLHttpRequest, textStatus, errorThrown) {   alert(errorThrown);    }  

  });        

  }

    </script>

</head>

<body>    

<form id="form1" runat="server">

<div class="datagrid_search_div">
        <table class="tb" border="0" cellpadding="0" cellspacing="0">
            <tr>
                <td class="tb_td_title">
                    项目名称:
                </td>
                <td class="tb_td_content" colspan="3" valign="top">
                    &nbsp;<asp:TextBox ID="txtprojectName" runat="server" Width="500px" request="true"
                        MaxLength="100" CssClass="txtbox" ToolTip="项目名称,最多100个字符!"></asp:TextBox>
                    <input id="btnSelect" type="button" value="&nbsp;&nbsp;选&nbsp;择&nbsp;&nbsp;" class="btn_long" />
                </td>
            </tr>  

<tr>
                <td colspan="4" class="tb_td_content" style="text-align: center;">
                    <asp:Button ID="btnSave" runat="server" class="btn_long" Text="&nbsp;&nbsp;保&nbsp;存&nbsp;&nbsp;"
                        OnClick="btnSave_Click" />&nbsp;
                    <input id="btnReset" type="button" value="&nbsp;&nbsp;重&nbsp;置&nbsp;&nbsp;" class="btn_long"
                        runat="server" onclick="javascript:document.forms[0].reset();" />&nbsp;
                    <asp:Label ID="TipInfo" runat="server" ForeColor="Red" Font-Bold="True"></asp:Label>
                </td>
            </tr>
        </table>
    </div>

</body>
</html>

页面前台

<%@ WebHandler Language="C#" Class="HandlerRefTipic" %>

using System;
using System.Web;
public class HandlerRefTipic : IHttpHandler {

    public void ProcessRequest (HttpContext context) {
        context.Response.ContentType = "application/Json";
        context.Response.Clear();
       context.Response.Write(GetTopicToJson(context.Request["OID"]));
        context.Response.Flush();
        context.Response.End();

    }
    /// <summary>
    /// 根据标识得到课题对象实体转换成json格式输出
    /// </summary>
    /// <param name="oid"></param>
    /// <returns></returns>
    public string GetTopicToJson(string oid)
    {
         if(string.IsNullOrEmpty(oid))
         {
             return "";
         }
        TopicInfoObj obj = new TopicInfoRepository().GetTopicInfoObj(oid);
        string str=new ConvertToJson().EntityToJson(obj);
        return str;

    }
    public bool IsReusable {
        get {
            return false;
        }
    }

}

json解析获取数据

 protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
PageGridBind();

                           }
        }
 protected void CtrlGrid_RowDataBound(object sender, GridViewRowEventArgs e)
        {
            try
            {
                 HiddenField hidenCheckID = (HiddenField)e.Row.FindControl("hidenCheckOID");
                CheckBox checkBox = e.Row.FindControl("chkSelect") as CheckBox;
                checkBox.Attributes.Add("onclick", "Change(" + checkBox.ClientID + ",‘" + hidenCheckID.Value + "‘)");
                base.ChangeRowColor(e);
            }
            catch (Exception ex)
            {

                throw ex;
            }
        }
  protected void PageGridBind()
        {
            GridView view = (GridView)this.FindControl("CtrlGrid");
            if (view != null)
            {
               //DataTable   dt=huoqushuju();
                    view.DataSource = dt;
                    view.DataBind();
                }
            }
        }

最上面的页面后台代码

上面的js有的是我自己的样式文件,没有上传还有日历js都没有,大概就是这个思路,在第一个页面点击按钮然后弹出框,选中gridview中checkbox的,只能选择一行数据,获取到这行数据的id然后把这行数据通过json解析,然后再传到父级页面,给父级页面的控件赋值,就是这样一个思路,可以评论,吐槽,多多指正,谢谢!

时间: 2024-10-27 08:27:19

页面单击按钮弹出modaldialog然后调用ajax处理程序获取数据,给父级页面控件赋值的相关文章

在iframe子页面中获取并操作父级页面的对象/元素

//获取iframe的window对象 // var gbiframe = window.top.document.getElementById("gbiframe").contentWindow; // 通过获取到的window对象操作HTML元素,这和普通页面一样 // var val = gbiframe.document.getElementById("gbaddr").value; // alert(val); 只有FF能使用

asp.net中的窗口弹出实现,包括分支窗口 . ASP.NET返回上一页面实现方法总结 .

返回上一页的这个东东在我们做项目的时候一般是用于填写完表单后确认的时候,有对原来输入的数据进行修改或者更新时用的,或者是因为网站为了方便浏览者而有心添加的一个东东,一般这种功能的实现在ASP.NET中都是用一个Button控件来实现的,实现的方法有很多,今天恰好在做项目时碰到要用这个东东,我就把能实现" 返回上一页","返回前一页"的几种方法总结了一下,供大家学习之用,请多多指教: 其实要实现这个功能主要还是要用到javascript脚本语言! 方法一: 在asp.

android开发(31) 动画演示 - 从页面底部向上弹出dialog,消失时逐渐向下

我想实现一个效果,从底部向上逐渐弹出.如下图所示: 1.点击 显示 按钮时,一个dialog对话框从底部慢慢向上弹出. 2.关闭dialog时, dialog缓慢的移动向底部消失.很平滑的效果.     实现方式: 在activity中写代码如下 public class MainActivity extends Activity { Button button1; @Override protected void onCreate(Bundle savedInstanceState) { su

从页面底部向上弹出dialog,消失时逐渐向下(转)

我想实现一个效果,从底部向上逐渐弹出.如下图所示: 1.点击 显示 按钮时,一个dialog对话框从底部慢慢向上弹出. 2.关闭dialog时, dialog缓慢的移动向底部消失.很平滑的效果.     实现方式: 在activity中写代码如下 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 public class MainActivity extends Activity {     Butto

iOS开发项目篇—14点击标题按钮弹出菜单

iOS开发项目篇—14点击标题按钮弹出菜单 一.简单说明 (1)简单实现 点击标题按钮弹框,在箭头向上的时候,显示标题菜单 把ImageView添加到谁的身上?三角形的箭头在导航栏上,因此不能添加到tableview上. 分析图示: 有两个两种方法可以考虑: (1)添加到导航控制器上,因为导航栏是在导航控制器上的. (2)不用考虑控制器,直接添加到窗口上. 拿到窗口 (1)self.view.window这个属性谨慎使用,当开始加载的时候,为空 (2)获取主窗口  [UIApplication

Menubutton按钮弹出菜单

1 #按钮弹出菜单 2 from tkinter import * 3 root =Tk() 4 5 def callback(): 6 print('我被调用了') 7 8 9 m = Menubutton(root,text = '点我',width=3,height=3) 10 m.pack() 11 12 filemenu = Menu(m) 13 filemenu.add_command(label='剪切',command=callback) 14 filemenu.add_comm

android :点击某个按钮弹出在原有布局中没有(或者存在)内容 :以删除原有布局内容为例

主要涉及了(1)对布局中某个控件的监听 (2)在布局文件中设置可显示,删除的参数 visibility的参数的有三个,在这里我只设置了一个,可见的. android:visibility="visible" 剩下的和他的用法相同. (3)在代码中监听控件后,对visibility的参数重新设置. 效果图:点击按钮后edittext不见了 (1)点击高级按钮前 (2)点击高级按钮后 (1)布局文件 <?xml version="1.0" encoding=&qu

jquery实现点击按钮弹出层和点击空白处隐藏层

昨天做项目遇到一个问题,和大家分享下,jquery实现点击按钮弹出层和点击空白处隐藏层的问题 if($('.autoBtn').length){                $('.autoBtn').find('.assess').unbind().bind('click',function(event){                    //取消事件冒泡                      event.stopPropagation(); if($('.abtnBox').is

Js浮动层插件,点击按钮弹出层,可关闭

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>石家庄礼品公司</title>