CRM2011弹出asp.net模态窗口关闭的问题

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="batchassign.aspx.cs" Inherits="Demo.batchassign" %>

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Microsoft.Xrm.Sdk.Client;
using UploadFiles;
using System.ServiceModel.Description;
using Microsoft.Xrm.Sdk;
using System.Data.SqlClient;
using System.Data;

namespace Demo
{
    public partial class batchassign : System.Web.UI.Page
    {
        private IOrganizationService orgService;
        string ownerid = string.Empty;
        private static string strConnectionString = null;
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                orgService = GetCrmService();
                BindGridView();
            }
        }

        public void BindGridView()
        {
            string strOwnerId=Request.QueryString["ownerid"].ToString();
            if (!string.IsNullOrEmpty(strOwnerId))
            {
                Guid OwnerId = new Guid(strOwnerId);
                gvInfo.DataSource = GetSettingsByProcedure(orgService, OwnerId);
                gvInfo.DataBind();
            }
        }

        protected void gvInfo_RowDataBound(object sender, GridViewRowEventArgs e)
        {
            try
            {
                //单选
                CheckBox cb = (CheckBox)e.Row.FindControl("chkSelected");
                if (cb != null)
                    cb.Attributes.Add("onclick", "signcheck(" + cb.ClientID + ")");

                //如果是绑定数据行
                if (e.Row.RowType == DataControlRowType.DataRow)
                {
                    //鼠标经过时,行背景色变
                    e.Row.Attributes.Add("onmouseover", "this.style.backgroundColor=‘#E6F5FA‘");
                    //鼠标移出时,行背景色变
                    e.Row.Attributes.Add("onmouseout", "this.style.backgroundColor=‘#FFFFFF‘");
                }
            }
            catch
            {

            }

        }

        private OrganizationServiceProxy GetCrmService()
        {
            string filePath = MapPath(@"/ISV/Config.txt");
            FileConfig config = new FileConfig(filePath);
            string crmUrl;
            string orgName = config.GetValue("orgName").ToLower();
            if (Request.Url.Host.ToLower().StartsWith(orgName, StringComparison.CurrentCultureIgnoreCase))
            {
                crmUrl = Request.Url.Scheme + "://" + Request.Url.Host + ":" + Request.Url.Port + "/XRMServices/2011/Organization.svc";
            }
            else
            {
                crmUrl = Request.Url.Scheme + "://" + Request.Url.Host + ":" + Request.Url.Port + "/" + orgName + "/XRMServices/2011/Organization.svc";
            }
            ClientCredentials credentials = new ClientCredentials();
            credentials.UserName.UserName = config.GetValue("UserName");
            credentials.UserName.Password = config.GetValue("Password");

            OrganizationServiceProxy crmServiceProxy = new OrganizationServiceProxy(new Uri(crmUrl), null, credentials, null);
            return crmServiceProxy;
        }

        /// <summary>
        /// 依据指定的CRM服务,指定的OwnerId,获取销售顾问
        /// </summary>
        /// <param name="service">指定的CRM服务</param>
        /// <param name="entityName">指定的OwnerId</param>
        /// <returns>流水号管理类</returns>
        public  DataSet GetSettingsByProcedure(IOrganizationService service, Guid OwnerId)
        {
            DataSet ds = new DataSet();

            if (string.IsNullOrEmpty(strConnectionString))
            {
                SystemConfig config = new SystemConfig(service, "IDOSSales_ReadOnly");
                strConnectionString = config.GetValue();
            }

            using (SqlConnection sqlconn = new SqlConnection(strConnectionString))
            {
                SqlCommand cmd = new SqlCommand();
                cmd.Connection = sqlconn;
                cmd.CommandText = "[dbo].[GetSalesConsultant]";
                cmd.CommandType = CommandType.StoredProcedure;
                sqlconn.Open();
                IDataParameter[] parameters = { 

                                        new SqlParameter("@ownerid", SqlDbType.UniqueIdentifier)};
                parameters[0].Value = OwnerId;
                cmd.Parameters.Add(parameters[0]);
                SqlDataAdapter adapter = new SqlDataAdapter(cmd);
                adapter.Fill(ds);
                sqlconn.Close();
            }

            return ds;
        }

        protected void chkSelected_CheckedChanged(object sender, EventArgs e)
        {
            CheckBox chk = sender as CheckBox;

            int index = ((GridViewRow)(chk.NamingContainer)).RowIndex;

            if (chk.Checked)
            {
                ownerid = gvInfo.Rows[index].Cells[3].Text.Trim();
            }
        }

        protected void btnOK_Click(object sender, EventArgs e)
        {
            if (ownerid != null && ownerid != "")
            {
                Response.Write("<script>window.returnValue=‘" + ownerid + "‘;window.opener = \"\"; window.open(\"\", \"_self\"); window.close();</script>");
                //Response.Write("<script>window.returnValue=‘" + ownerid + "‘;window.close();</script>");
            }
        }

        protected void btnCancel_Click(object sender, EventArgs e)
        {
            //Response.Write("<script>window.returnValue=‘1‘;</script>");
            Response.Write("<script>window.returnValue=‘" + ownerid + "‘;window.opener = \"\"; window.open(\"\", \"_self\"); window.close();</script>");
        }
    }
}

这是模态窗口的代码,通过Response.Write始终关闭不了模态窗口,具体原因不明觉厉,希望大家各抒己见探讨探讨,请各位高手多多指教。。。。。。

时间: 2024-08-26 12:52:05

CRM2011弹出asp.net模态窗口关闭的问题的相关文章

javascript弹出可以拖动的窗口代码实例

javascript弹出可以拖动的窗口代码实例: 在很多网页效果中,点击网页的某个地方能够弹出一个窗口,并且能够在屏幕中随便拖动,非常的人性化,下面就是一段能够实现此功能的代码实例,希望能够对大家带来帮助,代码如下: <!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" content="http://www.

点击文字弹出一个DIV层窗口代码

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>点击文字弹出一个DIV层窗口代码</title> <style> .black_overlay{ display: none; position: absolute; top: 0%; left: 0%; width: 100%; height:

js Ajax点击链接弹出一个DIV层窗口

下面是在实际项目中截取的部分代码,如果你想下载下来直接使用,可以点击这里点击文字弹出一个DIV层窗口代码. 效果图 HTML代码 <div class="cb pt10 mlf10"> <a href="__APP__/Article/chatpwd/value/7" onclick="verify(this);return false;" target="_blank" class="button

【转】javascript弹出固定大小的窗口页面

来源:http://weicfprince.blog.163.com/blog/static/8441066920081010113231969/ 现在我们想弹出一个WEB窗体,让其处于屏幕的中间位置,并设置其固定大小,固定外观显示.我们可以在一个JS文件中写这样一个函数: //弹出固定大小固定位置固定外观的新窗口 function OpenWindow(url,w,h) { var left=Math.round((window.screen.availWidth-w)/2); var top

[转]C# 安装时弹出设置服务登录窗口

本文转自:http://blog.csdn.net/prince_jun/article/details/38435887 安装服务时系统不要弹出设置服务登录窗口:在程序中将serviceProcessInstaller类的Account属性设置为LocalSystem 选中serviceProcessInstaller1,右键 属性,设置如下:

SetWinEventHook 事件钩子(有些windows事件并没有消息对应,譬如弹出菜单,切换窗口,获得焦点,滚动条滚动等)good

相信消息钩子大家听的比较多,消息钩子能够在应用程序处理系统消息之前将其截获,提前处理并可以决定是否继续将消息往下传送,有些windows事件并没有消息对应,譬如弹出菜单,切换窗口,获得焦点,滚动条滚动等等,要截获这些事件可以使用SetWinEventHook,它的原型如下: HWINEVENTHOOK WINAPI SetWinEventHook(  __in  UINT eventMin,  __in  UINT eventMax,  __in  HMODULE hmodWinEventPro

bat弹出确认或取消窗口

需要在bat脚本里面弹出取消/确认框提示,可以用下面的案例: 示例: @echo off setlocal enabledelayedexpansion set Vbscript=Msgbox("你的系统即将崩溃,是否立即更新?",1,"系统管理员提醒") for /f "Delims=" %%a in ('MsHta VBScript:Execute("CreateObject(""Scripting.Filesy

Bootstrap之javascript插件---弹出框(模态框)Modal

简介: 弹出框是一个经常使用的组件,一般用于弹出提示信息,确认信息,表单内容. 完整结构分析(可以没有头部和底部): 代码示例: <!-- 弹出框的头部 --> <div class="modal fade"> <div class="modal-dialog"> <div class="modal-content"> <div class="modal-header"&g

bootstrap弹出层Modal 模态框

bootstrap中的模态框(modal),不同于Tooltips,模态框以弹出对话框的形式出现,具有最小和最实用的功能集. 务必将模态框的 HTML 代码放在文档的最高层级内(也就是说,尽量作为 body 标签的直接子元素),以避免其他组件影响模态框的展现或功能. 默认的modal示例: [html] view plain copy <!DOCTYPE html> <html lang="zh-CN"> <head> <meta charse