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

  • 相关阅读:
    Cleaner Robot
    Lottery
    E. Three States
    cordova+vue-cli4构建app
    网站引导功能实现
    微信小程序双向绑定
    微信小程序html(wxml)传参
    什么是URL?网址的组成
    angular里使用vue/vue组件怎么在angular里用
    angular4 select 绑定(ngModel)对象
  • 原文地址:https://www.cnblogs.com/gaohao/p/4056176.html
Copyright © 2020-2023  润新知