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始终关闭不了模态窗口,具体原因不明觉厉,希望大家各抒己见探讨探讨,请各位高手多多指教。。。。。。

你可能感兴趣的:(asp.net)