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( )); }
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); }
public NthOfTypeFilter(JQuery.Filter attacheFilter, string n):base(attacheFilter) { this.Nth = n; int nnth = 0; int.TryParse(n, out nnth); this.NumberOfNth = nnth; }
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); }
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); }
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); }
public Settings PlayerOptions(JQuery element, AlphaTabApi context, object options) { if (options.IsTruthy()) { Settings.FillPlayerOptions(context.Settings, options, false); } return(context.Settings); }
public LayoutSettings Layout(JQuery element, AlphaTabApi context, object layout) { if (layout.IsTruthy()) { context.UpdateLayout(layout); } return(context.Settings.Layout); }
/// <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; }
public Track[] Tracks(JQuery element, AlphaTabApi context, dynamic tracks) { if (tracks) { context.SetTracks(tracks, true); } return(context.Tracks); }
public PlayerState PlayerState(JQuery element, AlphaTabApi context) { if (context.Player == null) { return(Audio.Synth.PlayerState.Paused); } return(context.Player.State); }
public Score Score(JQuery element, AlphaTabApi context, Score score) { if (score.IsTruthy()) { context.ScoreLoaded(score); } return(context.Score); }
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(); }
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();"); }
/// <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 + "}")); }
//工作流程 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); } }
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; }
/// <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; }
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); } } }
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(); }
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); }
/// <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); }
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); }
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); }
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); }
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 }); }
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); }
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); }
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"); }
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)); }
/// <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); } } } }
// 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)); }
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; }
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 ); }
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 ); }
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 ); }
/// <summary> /// 从另一个 JQuery 上创建具有相同 Code 属性的 JQuery 实例. /// </summary> /// <param name="jQuery">jQuery 实例, 新实例将复制其 Code 属性.</param> /// <returns>JQuery 实例.</returns> public static JQuery Create ( JQuery jQuery ) { return new JQuery ( jQuery ); }
/// <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; }
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 ); }
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 ); }
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 ); }
protected PseudoFilter(JQuery.Filter attachedFilter) { this.AttachedFilter = attachedFilter; }
protected PseudoChildFilter(JQuery.Filter attachedFilter) : base(attachedFilter) { }
/// <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; }
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 ); }
// 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 )
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 ); }
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(); } }
/// <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; }