private void cmdSub_Click(object sender, EventArgs e)
        {
            // 创建 IEBrowser 对象, 用来控制窗口的 WebBrowser 控件.
            IEBrowser ie = new IEBrowser(this.webBrowser);

            // 载入已经放在运行目录的页面 ButtonClick.htm.
            ie.Navigate(Path.Combine(AppDomain.CurrentDomain.BaseDirectory + "ButtonClick.htm"));

            // 等待 ButtonClick.htm 完全载入.
            ie.IEFlow.Wait(new UrlCondition("wait", "ButtonClick.htm", StringCompareMode.EndWith));

            // 根据按钮显示的文本模拟按钮点击.

            // 方法1: 安装搜索按钮的 javascript 函数 clickButton 来获取按钮并调用其 click 方法.
            // 安装 clickButton 函数.
            ie.InstallScript("function clickButton(text){for(var i=0;i<document.all.length;i++){if(document.all[i].value==text){document.all[i].click();break;}}}");
            // 调用 clickButton 函数, 模拟点击文本为 Sub 的按钮.
            ie.InvokeScript("clickButton", new object[] { "Sub" });

            // 方法2: 安装跟踪和 jQuery 脚本后, 执行 jQuery 来模拟点击按钮.
            // 安装跟踪脚本.
            ie.InstallTrace( );
            // 安装在资源中的 jQuery 脚本.
            ie.InstallScript(Properties.Resources.jquery_1_5_2_min);
            // 执行获取按钮并模拟点击的 jQuery 脚本.
            ie.ExecuteJQuery(JQuery.Create("'[value=Sub]:button'").Click( ));
        }
Ejemplo n.º 2
0
    protected void cmdTestIs_Click(object sender, EventArgs e)
    {
        string result = string.Empty;
        Tracer tracer = new Tracer();

        JQuery jQuery = new JQuery("'li'");

        result += "测试方法 JQuery.Is(string)<br />";

        tracer.Execute(jQuery, null, "Is", FunctionType.Method, new Type[] { typeof(string) }, null, null, null,
                       new object[][] {
            new object[] { "'.happy'" }
        },
                       false
                       );

        result += "jQuery.Code = " + jQuery.Code + "<br />";

        ScriptHelper scriptHelper = new ScriptHelper();

        scriptHelper.Alert("'li is(.happay) = ' + " + jQuery.Code);

        result += "scriptHelper.Code = " + scriptHelper.Code + "<br />";

        this.lblResult.Text = result;

        scriptHelper.Build(this, option: ScriptBuildOption.Startup);
    }
Ejemplo n.º 3
0
 public NthOfTypeFilter(JQuery.Filter attacheFilter, string n):base(attacheFilter)
 {
     this.Nth = n;
     int nnth = 0;
     int.TryParse(n, out nnth);
     this.NumberOfNth = nnth;
 }
Ejemplo n.º 4
0
    protected void cmdTestSlice_Click(object sender, EventArgs e)
    {
        string result = string.Empty;
        Tracer tracer = new Tracer();

        JQuery jQuery1 = new JQuery("'li'");
        JQuery jQuery2 = new JQuery("'li'");

        result += "测试方法 JQuery.Slice(string)<br />";

        tracer.Execute(jQuery1, null, "Slice", FunctionType.Method, new Type[] { typeof(string) }, null, null, null,
                       new object[][] {
            new object[] { "2" }
        },
                       false
                       );

        result += "jQuery1.Code = " + jQuery1.AddClass("'big'").Code + "<br />";

        result += "测试方法 JQuery.Slice(string, string)<br />";

        tracer.Execute(jQuery2, null, "Slice", FunctionType.Method, new Type[] { typeof(string), typeof(string) }, null, null, null,
                       new object[][] {
            new object[] { "2", "4" }
        },
                       false
                       );

        result += "jQuery2.Code = " + jQuery2.AddClass("'happy'").Code + "<br />";

        this.lblResult.Text = result;

        jQuery1.Build(this, option: ScriptBuildOption.Startup);
        jQuery2.Build(this, option: ScriptBuildOption.Startup);
    }
Ejemplo n.º 5
0
        private static void InitializeWebUIElement(Form newForm, WebForm mainWebForm)
        {
            //Call the initialized event
            newForm.OnInitialized();
            var halfWidth         = Document.ClientWidth / 2;
            var halfHeight        = Document.ClientHeight / 2;
            var newFormHalfWidth  = newForm.Size.Width / 2;
            var newFormHalfHeight = newForm.Size.Height / 2;

            newForm.Location = new Point(halfWidth - newFormHalfWidth, halfHeight - newFormHalfHeight);
            //Center the form
            newForm.Focus();
            JQuery.FromSelector(".winform").ZIndex(1);
            mainWebForm.InternalJQElement.ZIndex(1000);
            if (newForm.FormBorderStyle == FormBorderStyle.Sizable)
            {
                newForm.UnderlyingWebForm.InternalJQElement.ResizableAnimated();
            }

            mainWebForm.InternalJQElement.AddClass("winform");
            mainWebForm.InternalJQElement.Draggable();

            //Add a close button
            var btnClose = new AnchorElement
            {
                Href        = "#",
                Class       = "close webform-close-btn",
                Style       = "color: #000000;",
                TextContent = "×"
            };

            btnClose.Click += (s, e) => CloseForm(newForm);
            mainWebForm.InternalJQElement.Append(btnClose);
        }
Ejemplo n.º 6
0
        private void cmdSearch_Click(object sender, EventArgs e)
        {
            string keyWord = this.txtKeyWord.Text.Trim( );

            if (keyWord == string.Empty)
            {
                this.lblInfo.Text = "请填写关键字";
                return;
            }

            this.isStop = false;

            this.cmdSearch.Enabled = false;
            this.cmdStop.Enabled   = true;
            this.cmdSpider.Enabled = false;

            this.txtKeyWord.Enabled       = false;
            this.numericPageCount.Enabled = false;

            this.results.Clear( );
            this.listPage.Items.Clear( );

            this.currentPageIndex = 1;
            (this.searchState.StartActions[0] as ExecuteJQueryAction).JQuery = JQuery.Create("'input[name=q]'").Val(string.Format("'{0}'", keyWord));
            this.ie.IEFlow.JumpToState(loadGoogleStateName);
        }
Ejemplo n.º 7
0
 public Settings PlayerOptions(JQuery element, AlphaTabApi context, object options)
 {
     if (options.IsTruthy())
     {
         Settings.FillPlayerOptions(context.Settings, options, false);
     }
     return(context.Settings);
 }
Ejemplo n.º 8
0
 public LayoutSettings Layout(JQuery element, AlphaTabApi context, object layout)
 {
     if (layout.IsTruthy())
     {
         context.UpdateLayout(layout);
     }
     return(context.Settings.Layout);
 }
Ejemplo n.º 9
0
        /// <summary>
        /// 创建一个执行 jQuery 命令的行为.
        /// </summary>
        /// <param name="framePath">jQuery 执行的路径, 比如: "main.1.menu", 表示名称为 main 的框架中的第 2 个框架中的 menu 框架.</param>
        /// <param name="jQuery">执行的 jQuery 命令.</param>
        /// <param name="resultName">保存 jQuery 执行结果的 javascript 变量名称.</param>
        /// <param name="waitSecond">行为执行后等待的时间.</param>
        /// <returns>执行 jQuery 命令的行为.</returns>
        public ExecuteJQueryAction(string framePath, JQuery jQuery, string resultName, int waitSecond)
#endif
            : base(WebPageActionType.ExecuteJQuery, waitSecond)
        {
            this.FramePath  = framePath;
            this.ResultName = resultName;
            this.JQuery     = jQuery;
        }
Ejemplo n.º 10
0
 public Track[] Tracks(JQuery element, AlphaTabApi context, dynamic tracks)
 {
     if (tracks)
     {
         context.SetTracks(tracks, true);
     }
     return(context.Tracks);
 }
Ejemplo n.º 11
0
 public PlayerState PlayerState(JQuery element, AlphaTabApi context)
 {
     if (context.Player == null)
     {
         return(Audio.Synth.PlayerState.Paused);
     }
     return(context.Player.State);
 }
Ejemplo n.º 12
0
 public Score Score(JQuery element, AlphaTabApi context, Score score)
 {
     if (score.IsTruthy())
     {
         context.ScoreLoaded(score);
     }
     return(context.Score);
 }
Ejemplo n.º 13
0
 public void ClickButtonAdvanced()
 {
     // Generates JavaScript: return $(".some-label").filter(function() { return $(this).text().trim() === "Label Text"; }).parents(".parent-class").find(".button-class");
     Driver.FindElement((By)By.jQuery(".some-label")
                        .Filter(JQuery.HasTextFilterFunction("Label Text"))
                        .Parents(".parent-class")
                        .Find(".button-class"))
     .Click();
 }
Ejemplo n.º 14
0
        private void cmd163Blog_Click(object sender, EventArgs e)
        {
            // 从当前的 WebBrowser 控件创建 IEBrowser 对象.
            IEBrowser ie = new IEBrowser(this.webBrowser);

            // 此处修改为您的 163 博客地址.
            ie.Navigate("http://<163 博客地址>");
            ie.IEFlow.Wait(3);

            // 安装 jquery 脚本.
            ie.InstallJQuery(Properties.Resources.jquery_1_5_2_min);

            // 弹出登录框.
            ie.ExecuteJQuery(JQuery.Create("'a:contains(登录)'").Attr("'id'", "'denglu'"));
            ie.ExecuteScript("document.getElementById('denglu').click();");

            // 填写用户信息并登录.
            ie.ExecuteJQuery(JQuery.Create("'.ztxt:text'").Val("'<用户名>'"));
            ie.ExecuteJQuery(JQuery.Create("'.ztxt:password'").Val("'<密码>'"));
            ie.ExecuteJQuery(JQuery.Create("'.wbtnok:button'").Attr("'id'", "'dl'"));
            ie.ExecuteScript("document.getElementById('dl').click();");
            ie.IEFlow.Wait(5);

            // 安装 jquery 脚本.
            ie.InstallJQuery(Properties.Resources.jquery_1_5_2_min);

            // 跳转到日志页面.
            ie.ExecuteJQuery(JQuery.Create("'a:contains(日志)' ").Attr("'id'", "'rz'"));
            ie.ExecuteScript("document.getElementById('rz').click();");
            ie.IEFlow.Wait(5);

            // 安装 jquery 脚本.
            ie.InstallJQuery(Properties.Resources.jquery_1_5_2_min);

            // 跳转到编辑日志页面.
            ie.ExecuteJQuery(JQuery.Create("'a:contains(写日志)' ").Attr("'id'", "'xrz'"));
            ie.ExecuteScript("document.getElementById('xrz').click();");
            ie.IEFlow.Wait(5);

            // 安装 jquery 脚本.
            ie.InstallJQuery(Properties.Resources.jquery_1_5_2_min);

            // 填写日志内容.
            ie.ExecuteJQuery(JQuery.Create("'.ztag:text'").Val("'<标题>'"));
            ie.ExecuteJQuery(JQuery.Create("'#ne-auto-id-source'").Trigger("'click'"));

            ie.ExecuteJQuery(JQuery.Create("'textarea.ztag'").Val(string.Format("'{0}'", IEBrowser.EscapeCharacter("<日志 html 代码>"))));

            ie.ExecuteJQuery(JQuery.Create("'#ne-auto-id-source'").Trigger("'click'"));

            ie.ExecuteScript("document.getElementById('key-093402170-autotag').click();");
            ie.IEFlow.Wait(5);

            // 发布日志.
            ie.ExecuteJQuery(JQuery.Create("'.fc09:button'").Attr("'id'", "'fb'"));
            ie.ExecuteScript("document.getElementById('fb').click();");
        }
Ejemplo n.º 15
0
        /// <summary>
        /// 从 Ajax 设置创建一个 JQuery 实例, 如果设置中的请求地址为空, 则返回 null.
        /// </summary>
        /// <param name="setting">Ajax 相关设置.</param>
        /// <returns>JQuery 实例.</returns>
        public static JQuery Create(AjaxSetting setting)
        {
            if (string.IsNullOrEmpty(setting.Url))
            {
                return(null);
            }

            string quote;

            if (setting.IsSingleQuote)
            {
                quote = "'";
            }
            else
            {
                quote = "\"";
            }

            string data;
            bool   isWebService = !string.IsNullOrEmpty(setting.MethodName);

            if (!string.IsNullOrEmpty(setting.Data))
            {
                data = setting.Data;
            }
            else if (string.IsNullOrEmpty(setting.Form))
            {
                data = makeParameterExpression(setting.Parameters, isWebService, quote);
            }
            else
            {
                data = JQuery.Create(setting.Form, false).Serialize( ).Code;
            }

            string map = string.Format("url: {0}{1}{0}, dataType: {0}{2}{0}, data: {3}, type: {0}{4}{0}",
                                       quote,
                                       setting.Url + (isWebService ? "/" + setting.MethodName : string.Empty),
                                       setting.DataType,
                                       data,
                                       setting.Type
                                       );

            if (!string.IsNullOrEmpty(setting.ContentType))
            {
                map += string.Format(", contentType: {0}{1}{0}", quote, setting.ContentType);
            }

            foreach (Event @event in setting.SettingHelper.Events)
            {
                if (@event.Type != EventType.none && @event.Type != EventType.__init && !string.IsNullOrEmpty(@event.Value))
                {
                    map += ", " + @event.Type + ": " + @event.Value;
                }
            }

            return(JQuery.Create(false, false).Ajax("{" + map + "}"));
        }
Ejemplo n.º 16
0
        //工作流程
        private void SignAll()
        {
            //IEBrowser
            IEBrowser ie = new IEBrowser(wb);

            //JQUERY统计链接数
            ie.InstallJQuery(JQuery.CodeMin);
            ie.ExecuteJQuery(JQuery.Create("'a'"), "__jBs");
            int fav_count = ie.ExecuteJQuery <int>(JQuery.Create("__jBs").Length());

            //将我喜欢的吧放到List
            List <string> fav_bar = new List <string>();

            for (int index = 0; index < fav_count; index++)
            {
                ie.ExecuteJQuery(JQuery.Create("__jBs").Eq(index.ToString()), "__jB");
                string fav_text = ie.ExecuteJQuery <string>(JQuery.Create("__jB").Text());
                if (fav_text != "发言记录" && fav_text != "贴吧" && fav_text != "百度")
                {
                    string fav_url = "http://wapp.baidu.com/m?kw=" + UrlEncode(fav_text);
                    fav_bar.Add(fav_url);
                }
            }

            //历遍每个吧,查找签到的链接URL,打开。
            int num = 0;

            foreach (string bar_url in fav_bar)
            {
                num++;
                tips.Text = "签到进度:" + num + "/" + fav_bar.Count;

                ie.Navigate(bar_url);
                ie.IEFlow.Wait(new UrlCondition("wait", bar_url, StringCompareMode.StartWith), 10);

                ie.InstallJQuery(JQuery.CodeMin);
                ie.ExecuteJQuery(JQuery.Create("'a'"), "__jCs");
                int sign_count = ie.ExecuteJQuery <int>(JQuery.Create("__jCs").Length());
                for (int index = 0; index < sign_count; index++)
                {
                    ie.ExecuteJQuery(JQuery.Create("__jCs").Eq(index.ToString()), "__jC");
                    string sign_text = ie.ExecuteJQuery <string>(JQuery.Create("__jC").Text());
                    string sign_url  = "http://wapp.baidu.com" + ie.ExecuteJQuery <string>(JQuery.Create("__jC").Attr("'href'"));

                    if (sign_text == "签到")
                    {
                        ie.Navigate(sign_url);
                        ie.IEFlow.Wait(new UrlCondition("wait", sign_url, StringCompareMode.StartWith));
                    }
                }
            }
            if (num != 0)
            {
                Environment.Exit(0);
            }
        }
Ejemplo n.º 17
0
 public IList<IHtmlElement> Apply(JQuery context) {
     var result = new List<IHtmlElement>();
     
     foreach (var root in context) {
         if (Filter.Check(root, root)!=null) result.Add(root);
         root.Walkthough((elem) => {
             if (Filter.Check(elem, root)!=null) result.Add(root);return true;
         });
     }
     return result;
 }
Ejemplo n.º 18
0
        /// <summary>
        /// 创建一个 jQuery 测试条件.
        /// </summary>
        /// <param name="name">条件的名称.</param>
        /// <param name="jQuery">用于测试执行的 jQuery 命令.</param>
        /// <param name="result">期望结果.</param>
        public JQueryCondition(string name, JQuery jQuery, object result)
            : base(WebPageConditionType.JQuery, name)
        {
            if (null == jQuery || null == result)
            {
                throw new ArgumentNullException("jQuery, result", "jQuery 命令或者期望结果不能为空");
            }

            this.JQuery = jQuery;
            this.Result = result;
        }
Ejemplo n.º 19
0
 public void Init(JQuery element, AlphaTabApi context, dynamic options)
 {
     if (!context.IsTruthy())
     {
         context = new AlphaTabApi(element[0], options);
         element.Data("alphaTab", context);
         foreach (var listener in _initListeners)
         {
             listener(element, context, options);
         }
     }
 }
Ejemplo n.º 20
0
        public static void StartApplication(NKApplication app, string targetElementSelector)
        {
            //Verify that we are running on JSIL
            if (Verbatim.Expression("0") == null)
            {
                throw new RequiresJSILRuntimeException();
            }
            //TODO: Initialize DOM host object with jQuery
            var targetElement = new JQElement(JQuery.FromSelector(targetElementSelector).DomElement);

            app.HostElement = targetElement;
            app.Create();
        }
Ejemplo n.º 21
0
        public int TickPosition(JQuery element, AlphaTabApi context, int tickPosition)
        {
            if (context.Player == null)
            {
                return(0);
            }

            if (tickPosition.IsTruthy())
            {
                context.Player.TickPosition = tickPosition;
            }

            return(context.Player.TickPosition);
        }
Ejemplo n.º 22
0
        /// <summary>
        /// 得到权限数的数据
        /// </summary>
        /// <returns></returns>
        public DataTable GetAuthorityTree()
        {
            RelaTable tab1 = new RelaTable("JAuthority");

            tab1.InnerJoin("Jmodel", "JAuthority.modelid=jmodel.modelid");
            tab1.InnerJoin("JAuthorityDetail", "JAuthorityDetail.AuthorityID=JAuthority.AuthorityID");
            JQuery querey1 = new JQuery(tab1);

            querey1.OrderBy = "Jmodel.num,JAuthority.num,JAuthorityDetail.num";
            String    fields = "Jmodel.modelid,jmodel.modelname,JAuthority.authorityid,JAuthority.authorityName,JAuthorityDetail.remark,JAuthorityDetail.AuthorityUnitID";
            DataTable dt1    = querey1.SearchData(fields, -1).Tables[0];

            return(dt1);
        }
Ejemplo n.º 23
0
        public string AutoScroll(JQuery element, AlphaTabApi context, string autoScroll)
        {
            if (context.Player == null)
            {
                return(null);
            }

            if (autoScroll.IsTruthy())
            {
                context.Settings.ScrollMode = autoScroll;
            }

            return(context.Settings.ScrollMode);
        }
Ejemplo n.º 24
0
        public bool PlaybackRange(JQuery element, AlphaTabApi context, bool loop)
        {
            if (context.Player == null)
            {
                return(false);
            }

            if (loop.IsTruthy())
            {
                context.Player.IsLooping = loop;
            }

            return(context.Player.IsLooping);
        }
Ejemplo n.º 25
0
        public PlaybackRange PlaybackRange(JQuery element, AlphaTabApi context, PlaybackRange playbackRange)
        {
            if (context.Player == null)
            {
                return(null);
            }

            if (playbackRange.IsTruthy())
            {
                context.Player.PlaybackRange = playbackRange;
            }

            return(context.Player.PlaybackRange);
        }
Ejemplo n.º 26
0
 public void getMeaning(string sentence, Action <object, string, JqXHR> success, Action <JqXHR, string, string> error)
 {
     JQuery.Ajax(
         new AjaxSettings()
     {
         Url         = "https://api.wit.ai/message?q=" + sentence,
         BeforeSend  = (jqxhr, s) => jqxhr.SetRequestHeader("Authorization", authValue),
         Type        = RequestType.GET,
         ContentType = "application/json",
         DataType    = DataType.Json,
         Success     = success,
         Error       = error
     });
 }
Ejemplo n.º 27
0
        public double PlaybackSpeed(JQuery element, AlphaTabApi context, double playbackSpeed)
        {
            if (context.Player == null)
            {
                return(0);
            }

            if (playbackSpeed.IsTruthy())
            {
                context.Player.PlaybackSpeed = playbackSpeed;
            }

            return(context.Player.PlaybackSpeed);
        }
Ejemplo n.º 28
0
        public float MetronomeVolume(JQuery element, AlphaTabApi context, float metronomeVolume)
        {
            if (context.Player == null)
            {
                return(0);
            }

            if (metronomeVolume.IsTruthy())
            {
                context.Player.MetronomeVolume = metronomeVolume;
            }

            return(context.Player.MetronomeVolume);
        }
Ejemplo n.º 29
0
        public void JQueryFindByText()
        {
            By selector = By.jQuery(".depth-level-2 > span")
                          .Filter(JQuery.HasTextFilterFunction("--Div at depth 2 index 1"))
                          .Parent()
                          .Find(".depth-level-3 > span")
                          .Filter(JQuery.HasTextFilterFunction("---Div at depth 3 index 1"));

            var textFromFoundElements = Driver.FindElements(selector).Select(x => x.Text).ToList();

            textFromFoundElements.ShouldHaveTheSameElementsAs(
                "---Div at depth 3 index 1",
                "---Div at depth 3 index 1",
                "---Div at depth 3 index 1");
        }
Ejemplo n.º 30
0
        public void ProcessGuess(JQuery stats, TextBox guessEntryField)
        {
            int guess;

            try {
                guess = int.Parse(guessEntryField.Value);
            } catch (FormatException) {
                var statusLabel = Query <JQuery>("#stats .status");
                statusLabel.Text("Your guess was not valid.");
                return;
            }


            ++_numberOfTries;

            if (guess == _randomNumber)
            {
                ReplaceWith(new CongratulationForm(_numberOfTries));
                return;
            }

            guessEntryField.Value = "";

            var statusText = "";

            if (guess < 1 || guess > 100)
            {
                statusText = "Your guess, " + guess + " was not between 1 and 100.";
            }
            else if (guess < _randomNumber)
            {
                if (guess >= LowerBound)
                {
                    LowerBound = guess + 1;
                }
                statusText = "Your guess, " + guess + " was too low.  Try again:";
            }
            else if (guess > _randomNumber)
            {
                statusText = "Your guess, " + guess + " was too high.  Try again:";
                if (guess <= UpperBound)
                {
                    UpperBound = guess - 1;
                }
            }

            stats.Html(RenderFragment("stats", statusText));
        }
Ejemplo n.º 31
0
        /// <summary>
        /// 重新构造.
        /// </summary>
        public override void Recombine( )
        {
            base.Recombine( );

            foreach (AjaxSetting ajax in this.ajaxs)
            {
                if (ajax.EventType != EventType.none && ajax.EventType != EventType.__init)
                {
                    OptionType optionType;

                    try
                    { optionType = ( OptionType )Enum.Parse(typeof(OptionType), ajax.EventType.ToString( ), true); }
                    catch
                    { continue; }

                    if (!string.IsNullOrEmpty(ajax.ClientFunction))
                    {
                        this.settingHelper.SetOptionValue(optionType, ajax.ClientFunction, string.Empty);

                        continue;
                    }

                    //!+ The following code is similar with AutocompleteSetting.Recombine

                    if (ajax.Data.StartsWith("e."))
                    {
                        if (string.IsNullOrEmpty(ajax.MethodName))
                        {
                            ajax.Data = string.Format("jQuery.extend({0}, {1})", "{}", ajax.Data);
                        }
                        else
                        {
                            ajax.Data = string.Format("jQuery.panzer.encodeData({0})", ajax.Data);
                        }
                    }

                    JQuery jquery = JQueryUI.Create(ajax);

                    if (null != jquery)
                    {
                        jquery.EndLine( );
                        this.settingHelper.SetOptionValue(optionType, "function(pe, e) {" + jquery.Code + "}", string.Empty);
                    }
                }
            }
        }
Ejemplo n.º 32
0
        // GET: Home
        public ActionResult Index()
        {
            ConsultaPersona obj = new ConsultaPersona();

            try {
                obj.vSexo = (SelectList)JQuery.SelectListAddItem(new List <ItemSelectList>(), "Valor", "Texto", "", "Seleccione uno...");

                //ViewBag.lst = new List<Persona>();
                //return View();
            }
            catch (Exception ex)
            {
                Registro.RegistrarLog(NivelLog.Error, "Error", ex);
                return(RedirectToAction("Error400", "Error"));
            }
            return(View(obj));
        }
Ejemplo n.º 33
0
	protected void cmdTestEndLine_Click ( object sender, EventArgs e )
	{
		string result = string.Empty;
		Tracer tracer = new Tracer ();

		JQuery jQuery = new JQuery ( "'table'" );

		result += "测试方法 jQuery.EndLine()<br />";

		foreach ( object newJQuery in tracer.Execute ( jQuery, null, "EndLine", FunctionType.Method, new Type[] { }, null, null, null,
			new object[][] {
				new object[] { }
			},
			false
			)
			)
			result += "newJQuery.Code = " + ( newJQuery as JQuery ).Code + "<br />";

		this.lblResult.Text = result;
	}
Ejemplo n.º 34
0
	protected void cmdTestAddClass_Click ( object sender, EventArgs e )
	{
		string result = string.Empty;
		Tracer tracer = new Tracer ();

		JQuery jQuery = new JQuery ("'table'");

		result += "测试方法 JQuery.AddClass(string)<br />";

		tracer.Execute ( jQuery, null, "AddClass", FunctionType.Method, new Type[] { typeof ( string ) }, null, null, null,
			new object[][] {
				new object[] { "'box'" },
				new object[] { "function(i, c){ return 'happy'; }" }
			},
			false
			);

		result += "jQuery.Code = " + jQuery.Code + "<br />";

		this.lblResult.Text = result;

		jQuery.Build ( this, option: ScriptBuildOption.Startup );
	}
Ejemplo n.º 35
0
	protected void cmdTestAttr_Click ( object sender, EventArgs e )
	{
		string result = string.Empty;
		Tracer tracer = new Tracer ();

		JQuery jQuery1 = new JQuery ( "'#myTable1'" );
		JQuery jQuery2 = new JQuery ( "'#myTable2'" );

		result += "测试方法 JQuery.Attr(string)<br />";

		tracer.Execute ( jQuery1, null, "Attr", FunctionType.Method, new Type[] { typeof ( string ) }, null, null, null,
			new object[][] {
				new object[] { "{ border: '1' }" },
				new object[] { "'style'" }
			},
			false
			);

		result += "jQuery1.Code = " + jQuery1.Code + "<br />";

		result += "测试方法 JQuery.Attr(string, string)<br />";

		tracer.Execute ( jQuery2, null, "Attr", FunctionType.Method, new Type[] { typeof ( string ), typeof ( string ) }, null, null, null,
			new object[][] {
				new object[] { "'border'", "'1'" },
				new object[] { "'style'", "function(i, a){ return 'width: 700px'; }" }
			},
			false
			);

		result += "jQuery2.Code = " + jQuery2.Code + "<br />";

		this.lblResult.Text = result;

		jQuery1.Build ( this, option: ScriptBuildOption.Startup );
		jQuery2.Build ( this, option: ScriptBuildOption.Startup );
	}
Ejemplo n.º 36
0
	protected void cmdTestRemoveAttr_Click ( object sender, EventArgs e )
	{
		string result = string.Empty;
		Tracer tracer = new Tracer ();

		JQuery jQuery = new JQuery ( "'#myTable2'" );

		result += "测试方法 JQuery.RemoveAttr(string)<br />";

		tracer.Execute ( jQuery, null, "RemoveAttr", FunctionType.Method, new Type[] { typeof ( string ) }, null, null, null,
			new object[][] {
				new object[] { "'class'" }
			},
			false
			);

		result += "jQuery.Code = " + jQuery.Code + "<br />";

		this.lblResult.Text = result;

		jQuery.Build ( this, option: ScriptBuildOption.Startup );
	}
Ejemplo n.º 37
0
		/// <summary>
		/// 从另一个 JQuery 上创建具有相同 Code 属性的 JQuery 实例.
		/// </summary>
		/// <param name="jQuery">jQuery 实例, 新实例将复制其 Code 属性.</param>
		/// <returns>JQuery 实例.</returns>
		public static JQuery Create ( JQuery jQuery )
		{ return new JQuery ( jQuery ); }
Ejemplo n.º 38
0
		/// <summary>
		/// 创建一个 jQuery 测试条件.
		/// </summary>
		/// <param name="name">条件的名称.</param>
		/// <param name="jQuery">用于测试执行的 jQuery 命令.</param>
		/// <param name="result">期望结果.</param>
		public JQueryCondition ( string name, JQuery jQuery, object result )
			: base ( WebPageConditionType.JQuery, name )
		{

			if ( null == jQuery || null == result )
				throw new ArgumentNullException ( "jQuery, result", "jQuery 命令或者期望结果不能为空" );

			this.JQuery = jQuery;
			this.Result = result;
		}
Ejemplo n.º 39
0
	protected void cmdTestMap_Click ( object sender, EventArgs e )
	{
		string result = string.Empty;
		Tracer tracer = new Tracer ();

		JQuery jQuery = new JQuery ( "'li'" );

		result += "测试方法 JQuery.Map(string)<br />";

		tracer.Execute ( jQuery, null, "Map", FunctionType.Method, new Type[] { typeof ( string ) }, null, null, null,
			new object[][] {
				new object[] { "function(i, o){return alert($(this).text());}" }
			},
			false
			);

		result += "jQuery.Code = " + jQuery.Code + "<br />";

		this.lblResult.Text = result;

		jQuery.Build ( this, option: ScriptBuildOption.Startup );
	}
Ejemplo n.º 40
0
	protected void cmdTestNot_Click ( object sender, EventArgs e )
	{
		string result = string.Empty;
		Tracer tracer = new Tracer ();

		JQuery jQuery = new JQuery ( "'li'" );

		result += "测试方法 JQuery.Not(string)<br />";

		tracer.Execute ( jQuery, null, "Not", FunctionType.Method, new Type[] { typeof ( string ) }, null, null, null,
			new object[][] {
				new object[] { "':eq(0)'" }
			},
			false
			);

		result += "jQuery.Code = " + jQuery.AddClass ( "'big'" ).Code + "<br />";

		this.lblResult.Text = result;

		jQuery.Build ( this, option: ScriptBuildOption.Startup );
	}
Ejemplo n.º 41
0
	protected void cmdTestSlice_Click ( object sender, EventArgs e )
	{
		string result = string.Empty;
		Tracer tracer = new Tracer ();

		JQuery jQuery1 = new JQuery ( "'li'" );
		JQuery jQuery2 = new JQuery ( "'li'" );

		result += "测试方法 JQuery.Slice(string)<br />";

		tracer.Execute ( jQuery1, null, "Slice", FunctionType.Method, new Type[] { typeof ( string ) }, null, null, null,
			new object[][] {
				new object[] { "2" }
			},
			false
			);

		result += "jQuery1.Code = " + jQuery1.AddClass ( "'big'" ).Code + "<br />";

		result += "测试方法 JQuery.Slice(string, string)<br />";

		tracer.Execute ( jQuery2, null, "Slice", FunctionType.Method, new Type[] { typeof ( string ), typeof ( string ) }, null, null, null,
			new object[][] {
				new object[] { "2", "4" }
			},
			false
			);

		result += "jQuery2.Code = " + jQuery2.AddClass ( "'happy'" ).Code + "<br />";

		this.lblResult.Text = result;

		jQuery1.Build ( this, option: ScriptBuildOption.Startup );
		jQuery2.Build ( this, option: ScriptBuildOption.Startup );
	}
Ejemplo n.º 42
0
 protected PseudoFilter(JQuery.Filter attachedFilter)
 {
     this.AttachedFilter = attachedFilter;
 }
Ejemplo n.º 43
0
 protected PseudoChildFilter(JQuery.Filter attachedFilter) : base(attachedFilter) { }
Ejemplo n.º 44
0
		/// <summary>
		/// 创建一个执行 jQuery 命令的行为.
		/// </summary>
		/// <param name="framePath">jQuery 执行的路径, 比如: "main.1.menu", 表示名称为 main 的框架中的第 2 个框架中的 menu 框架.</param>
		/// <param name="jQuery">执行的 jQuery 命令.</param>
		/// <param name="resultName">保存 jQuery 执行结果的 javascript 变量名称.</param>
		/// <param name="waitSecond">行为执行后等待的时间.</param>
		/// <returns>执行 jQuery 命令的行为.</returns>
		public ExecuteJQueryAction ( string framePath, JQuery jQuery, string resultName, int waitSecond )
#endif
			: base ( WebPageActionType.ExecuteJQuery, waitSecond )
		{
			this.FramePath = framePath;
			this.ResultName = resultName;
			this.JQuery = jQuery;
		}
Ejemplo n.º 45
0
	protected void cmdTestIs_Click ( object sender, EventArgs e )
	{
		string result = string.Empty;
		Tracer tracer = new Tracer ();

		JQuery jQuery = new JQuery ( "'li'" );

		result += "测试方法 JQuery.Is(string)<br />";

		tracer.Execute ( jQuery, null, "Is", FunctionType.Method, new Type[] { typeof ( string ) }, null, null, null,
			new object[][] {
				new object[] { "'.happy'" }
			},
			false
			);

		result += "jQuery.Code = " + jQuery.Code + "<br />";

		ScriptHelper scriptHelper = new ScriptHelper ();
		scriptHelper.Alert ( "'li is(.happay) = ' + " + jQuery.Code );

		result += "scriptHelper.Code = " + scriptHelper.Code + "<br />";

		this.lblResult.Text = result;

		scriptHelper.Build ( this, option: ScriptBuildOption.Startup );
	}
Ejemplo n.º 46
0
		// HACK: 切换编译符号 PARAM 时, ExecuteJQueryAction 构造函数将需要修改参数.
#if PARAM
		/// <summary>
		/// 创建一个执行 jQuery 命令的行为.
		/// </summary>
		/// <param name="jQuery">执行的 jQuery 命令.</param>
		/// <param name="resultName">保存 jQuery 执行结果的 javascript 变量名称, 默认不返回值到变量.</param>
		/// <param name="framePath">jQuery 执行的路径, 比如: "main.1.menu", 表示名称为 main 的框架中的第 2 个框架中的 menu 框架, 默认不指定路径.</param>
		/// <param name="waitSecond">行为执行后等待的时间, 默认 0 秒.</param>
		/// <returns>执行 jQuery 命令的行为.</returns>
		public ExecuteJQueryAction ( JQuery jQuery, string resultName = null, string framePath = null, int waitSecond = 0 )
Ejemplo n.º 47
0
	protected void cmdTestVal_Click ( object sender, EventArgs e )
	{
		string result = string.Empty;
		Tracer tracer = new Tracer ();

		JQuery jQuery1 = new JQuery ( "'#myTextBox1'" );
		JQuery jQuery2 = new JQuery ( jQuery1 );

		result += "测试方法 JQuery.Val()<br />";

		tracer.Execute ( jQuery1, null, "Val", FunctionType.Method, new Type[] { }, null, null, null,
			new object[][] {
				new object[] { }
			},
			false
			);

		result += "jQuery1.Code = " + jQuery1.Code + "<br />";

		result += "测试方法 JQuery.Val(string)<br />";

		tracer.Execute ( jQuery2, null, "Val", FunctionType.Method, new Type[] { typeof ( string ) }, null, null, null,
			new object[][] {
				new object[] { "'jack'" }
			},
			false
			);

		result += "jQuery2.Code = " + jQuery2.Code + "<br />";

		ScriptHelper scriptHelper = new ScriptHelper ();
		scriptHelper.Alert ( "'myTextBox1.value = ' + " + jQuery1.Code );

		result += "scriptHelper.Code = " + scriptHelper.Code + "<br />";

		this.lblResult.Text = result;

		scriptHelper.Build ( this, option: ScriptBuildOption.Startup );
		jQuery2.Build ( this, option: ScriptBuildOption.Startup );
	}
Ejemplo n.º 48
0
 static JQuery.Filter GenPseudoFilter(Match match,JQuery.Filter attachedFilter) {
     var pseudoType = match.Groups[1].Value;
     switch (pseudoType) {
         case "nth-child":return new NthChildFilter(attachedFilter, match.Groups[2].Value);
         case "nth-of-type":return new NthOfTypeFilter(attachedFilter,match.Groups[2].Value);
         default:
             throw new NotImplementedException();
     }
 }
Ejemplo n.º 49
0
		/// <summary>
		/// 从另一个 JQuery 上创建具有相同 Code 属性的 JQuery 实例.
		/// </summary>
		/// <param name="jQuery">jQuery 实例, 新实例将复制其 Code 属性.</param>
		public JQuery ( JQuery jQuery )
			: base ( ScriptType.JavaScript )
		{

			if ( null == jQuery )
				return;

			this.code = jQuery.code;
		}