示例#1
0
        /// <summary>
        /// Sets a server side function target for an event of client element
        /// </summary>
        /// <param name="clientId">The client id.</param>
        /// <param name="elementId">The element id.</param>
        /// <param name="eventName">Name of the event.</param>
        /// <param name="eventTarget">The event target.</param>
        /// <param name="returnValue">The return value.</param>
        public static void SetElementEvent(string clientId, string elementId, string eventName, ClientElementEventReceived eventTarget, string returnValue)
        {
            string fakeId = elementId.ToLower().Trim();
            string objectType = "document.getElementById('" + elementId + "')";
            if (fakeId == "body" || fakeId == "window" || fakeId == "document" || fakeId == "document.body")
            {
                if (fakeId == "body")
                    fakeId = "document.body";
                objectType = fakeId;
            }
            string simpleName = elementId + "_" + eventName;

            bool hasClient;
            lock (CometWorker.ClientStatus)
            {
                hasClient = CometWorker.ClientStatus.ContainsKey(clientId);
            }
            if (hasClient)
            {
                lock (CometWorker.ClientStatus[clientId])
                {
                    if (CometWorker.ClientStatus[clientId].Events.ContainsKey(simpleName))
                        CometWorker.ClientStatus[clientId].Events.Remove(simpleName);
                    CometWorker.ClientStatus[clientId].Events.Add(simpleName, eventTarget);
                }
            }

            if (returnValue.Trim().Length == 0)
            {
                returnValue = "\"\"";
            }

            CometWorker.SendToClient(clientId, @"
            document.__" + simpleName + " = function(ev){PokeIn.Send(PokeIn.GetClientId()+'.BrowserEvents.Fired("  
                         + elementId + ","+ eventName + ","+returnValue+");'); };function c3eb(){var _item = " 
                         + objectType + "; PokeIn.AddEvent(_item, '" + eventName + "', document.__" 
                                            + simpleName + ");}"+"\nc3eb();\n");
        }
示例#2
0
        /// <summary>
        /// Sets a server side function target for an event of client element
        /// </summary>
        /// <param name="clientId">The client id.</param>
        /// <param name="elementId">The element id.</param>
        /// <param name="eventName">Name of the event.</param>
        /// <param name="eventTarget">The event target.</param>
        /// <param name="returnValue">The return value.</param>
        public static void SetElementEvent(string clientId, string elementId, string eventName, ClientElementEventReceived eventTarget, string returnValue)
        {
            string fakeId     = elementId.ToLower().Trim();
            string objectType = "document.getElementById('" + elementId + "')";

            if (fakeId == "body" || fakeId == "window" || fakeId == "document" || fakeId == "document.body")
            {
                if (fakeId == "body")
                {
                    fakeId = "document.body";
                }
                objectType = fakeId;
            }
            string simpleName = elementId + "_" + eventName;

            bool hasClient;

            lock (CometWorker.ClientStatus)
            {
                hasClient = CometWorker.ClientStatus.ContainsKey(clientId);
            }
            if (hasClient)
            {
                lock (CometWorker.ClientStatus[clientId])
                {
                    if (CometWorker.ClientStatus[clientId].Events.ContainsKey(simpleName))
                    {
                        CometWorker.ClientStatus[clientId].Events.Remove(simpleName);
                    }
                    CometWorker.ClientStatus[clientId].Events.Add(simpleName, eventTarget);
                }
            }

            if (returnValue.Trim().Length == 0)
            {
                returnValue = "\"\"";
            }

            CometWorker.SendToClient(clientId, @"
            document.__" + simpleName + " = function(ev){PokeIn.Send(PokeIn.GetClientId()+'.BrowserEvents.Fired("
                                     + elementId + "," + eventName + "," + returnValue + ");'); };function c3eb(){var _item = "
                                     + objectType + "; PokeIn.AddEvent(_item, '" + eventName + "', document.__"
                                     + simpleName + ");}" + "\nc3eb();\n");
        }