AJAX :: Fire A Javascript Onclick Function Before The Server Side Event(SelectedNodeChanged) Called?
May 12, 2010
I have developed a web application which contains aspdotnet treeview control. In this treeview control has binded with some database value.. that controls has one parent node and more than one child nodes for each parent node.
my problem is here, when the user clicks the parent node, I need to fire a javascript onclick function before the server side event(SelectedNodeChanged) called..
If I provide javascript to the parnet node when it is binding, then I could not fire the server side event(SelectedNodeChanged).
How to provide onclick javascript event for parent node in treeview control even the parent node has SelectedNodeChanged event.
Elsewhere in the page, some JavaScript opens a popup. When the popup is filled out and submitted, I want to use JavaScript to fire that OnSelectedIndexChanged event in the opener page. I found some other code that does something similar:
if (window.opener != null ) { var cf = window.opener.document.forms['aspnetForm']; if (!cf) { cf = window.opener.document.aspnetForm; [code]...
I am writing my first AJAX enabled page. Basically I am trying to expand out the lines of a Purchase Order (PO) using our company database. What I want to do is have a button that will that will call on a javascript to update a div field with a table for the PO lines of that PO and at the same time change the function that is called by the button to a function that will collapse the list. How would i do this?
I am building a user registration form in asp.net. I want to check if the username is available or not on the leave event of the TextBox. I am not able to get the Leave Event of the TextBox.
I Getting A Problem In DataGrid's ItemDataBound Event. I Am Calling A JavaScript Function In DataGrid's ItemDataBound Which Retrun The CellIndex And RowIndex Number On Which UserClick After That I Am Re-Binding The DataGrid With jQuery Function After That ItemDataBound Event Not Working. I Want To Call The Same Function Again. Is Their Any Method To Call A Server-Side Function On ItemDataBound Event Except Client-Side Function..
Basically I am using a ModalPopUpExtender and it works fine, except that the OK button has an OnClick event that only fires when it is clicked for the 2nd time.. obviously i can progress with populating my OnClick event method for later on - its just annoying that a user has to click my button then ok in the pop up twice before they can get their intended result!
i have used PageMethods to access the server side functions in javascript , but now my problem is that with pagemethods your controls will not go throught the full page lifecyle and these leads me to have "Object not set for an instance of an object" error. Now can someone come with a differnt approach without using pagemethods. What i want is to call a server side function , i dont want to pass any parameters to it
What I want to do: dispose of a session upon detecting an "OnBeforeUnload" event in the client. I know it doesn't fire 100% of times (90% accuracy works fine for me)
Here I saw how to do it with ajax, this system, however, breaks down with ajax: I can't use it at all.
when i click on the textbox which is inside the item template of gridview then onclick event should fire and then call the javascript function but my problem is that there no onclick event option in item template's textbox
Is there a way that I can execute a javascript function after the client side validation occurs in asp.net?I have a couple validation controls on a page and an input button with CausesValidation=true. The OnClientClick handler executes javascript before the validation runs, but i want to run some functions afterwards.
<asp:RadioButton GroupName="grpAssoc" ID="rbtEvery" runat="server" Text="Everyone" onclick="return doChangeAssociationType(0);" AutoPostBack="True" oncheckedchanged="rbtEvery_CheckedChanged" /> but oncheckedchanged="rbtEvery_CheckedChanged" not firing even javascript function returns true
Possible Duplicates: how to call server side function from client side - asp.net Calling ASP.NET Code Behind function from Javascript Calling ASP.NET server side method via JQuery While loading an aspx page, how is it possible to call a server side method with the client side code?Can u show one example?
<asp:LinkButton CssClass="button" ID="btnApply" runat="server" OnClick="btnApply_Click()" OnClientClick="Apply1('btnApply')" > hi ihave this functin in .vb file Protected Sub btnApply_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnApply.Click end sub
how to fire javascript function with update panel e.g is like i pur my registration code in update panel and after submit button click i.e filling all registration information i want to show message that ur successfully register(Javascript) may i know how to fire javascript
I need to make table rows clickable and can be catched by both js and .net server side .
how can I use Request.form to solve this issue? since I've created functions for js part .
The reason why I want to fire sever side event, because I use JS to add option (item) to an asp:ddl in an updatepanel, it will cause error or lose the new option by doing a postback fired by other buttons.
I recently came across the AsyncFileUpload control in the latest (3.0.40412) release of the ASP.Net Ajax Control Toolkit. There appears to be an issue when using it in a hidden control that is later revealed, such as a <div> tag with visible=false.
I have an ASP.NET (3.5) web page which calls a few web methods (SOAP based) using jQuery's .ajax method. The web methods implement 'ScriptMethod' attribute and return JSON data. The web service file (asmx) is local to the same project.
I noticed these web methods execute synchronously on the server which means they run sequentially and affect performance negatively, some methods are waiting, when some of them are slow.
I read this article and I am not sure if I understand that WebMethods which implement Scriptmethod can run synchronously only (they implement IHttpHandler not IHttpAsyncHandler).
If this is true, I might have to change the design. I am looking for other designs, maybe like using WCF, where the browser can call webmethods using JavaScript and the web methods run asynchronously on the server.
I want to do something a little bit tricky here. I want to call a server side fonction from the javascript. I know it can be done but I get some errors. This is my Javascript fonction where I want to call the server side fonction:
MdsMenu:MenuItem is my custom WebControl. If I insert a Button control out of MdsMenu:MenuItem tag it works well but if I inserted it within MdsMenu:MenuItem tag it doesn't fire the concerned method. What's wrong with my code?
Edit: Menu.cs using System; using System.Collections.Generic; using System.ComponentModel; using System.Linq; using System.Text; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.Security.Permissions; using System.Collections; using System.ComponentModel.Design; using System.Drawing.Design; using System.Web.UI.HtmlControls; using System.IO; namespace MenuServerControl { [AspNetHostingPermission(SecurityAction.Demand, Level = AspNetHostingPermissionLevel.Minimal)] [AspNetHostingPermission(SecurityAction.InheritanceDemand, Level = AspNetHostingPermissionLevel.Minimal)] [DefaultProperty("MenuItems")] [ParseChildren(true, "MenuItems")] [ToolboxData("<{0}:Menu runat="server"> </{0}:Menu>")] public class Menu : WebControl { #region Fields private List<MenuItem> _MenuItems; string _Direction { get { string direction = ""; switch (this.Direction) { case Directions.LeftToRight: direction = "direction:ltr;"; break; case Directions.RightToLeft: direction = "direction:rtl;"; break; default: direction = "direction:rtl;"; break; } return direction; } } string _AnimationDelay { get { if (AnimationDelay == null) AnimationDelay = 1000; return AnimationDelay.ToString().ToLower(); } } string _AnimationType { get { switch (this.AnimationType) { case AnimationType.Opacity_Height: return "animation:{opacity:'show',height:'show'}"; case AnimationType.Opacity_Width: return "animation:{opacity:'show',width:'show'}"; case AnimationType.Opacity: return "animation:{opacity:'show'}"; case AnimationType.Height: return "animation:{height:'show'}"; case AnimationType.Width: return "animation:{width:'show'}"; case AnimationType.Height_Toggle: return "animation: {height: 'toggle'}"; case AnimationType.Width_Toggle: return "animation: {width: 'toggle'}"; default: return "animation:{opacity:'show',height:'show'}"; } } } string _AnimationSpeed { get { switch (this.AnimationSpeed) { case AnimationSpeed.Fast: return "speed:'fast'"; case AnimationSpeed.Normal: return "speed:'normal'"; case AnimationSpeed.Slow: return "speed:'slow'"; default: return "speed:'fast'"; } } } string FloatStyle { get { if (Direction == Directions.RightToLeft) return "float:right;"; else return ""; } } string _Main_ul_CssClass = ""; #endregion #region Properties public string Main_ul_CssClass { get { if (string.IsNullOrEmpty(_Main_ul_CssClass)) return ""; _Main_ul_CssClass = "class=" + _Main_ul_CssClass; return _Main_ul_CssClass; } set { _Main_ul_CssClass = value.Trim(); } } public Directions Direction { get; set; } public int? AnimationDelay { get; set; } public AnimationType AnimationType { get; set; } public AnimationSpeed AnimationSpeed { get; set; } public bool DropShadow { get; set; } public bool AutoArrows { get; set; } [Category("Behavior")] [Description("The menu collection")] [DesignerSerializationVisibility(DesignerSerializationVisibility.Content)] [PersistenceMode(PersistenceMode.InnerDefaultProperty)] public List<MenuItem> MenuItems { get { if (_MenuItems == null) _MenuItems = new List<MenuItem>(); return _MenuItems; } } public VerOrHor VerticalOrHorizontal { get; set; } #endregion #region Methods public Menu() { DropShadow = true; AutoArrows = true; } public override void RenderBeginTag(HtmlTextWriter writer) { writer.Write("<div id="" + this.ID + "" style="" + _Direction + " " + FloatStyle + "">"); } public override void RenderEndTag(HtmlTextWriter writer) { writer.Write("</div>"); } protected override void OnPreRender(EventArgs e) { base.OnPreRender(e); #region Adding Script & link Tags HtmlGenericControl jquery = new HtmlGenericControl("script"); jquery.Attributes.Add("type", "text/javascript"); jquery.Attributes.Add("src", Page.ClientScript.GetWebResourceUrl(typeof(MenuServerControl.Menu), "MenuServerControl.JavaScriptFiles.jquery_1_4_3.js")); jquery.EnableViewState = false; Page.Header.Controls.Add(jquery); HtmlGenericControl hoverIntent = new HtmlGenericControl("script"); hoverIntent.Attributes.Add("type", "text/javascript"); hoverIntent.Attributes.Add("src", Page.ClientScript.GetWebResourceUrl(typeof(Menu), "MenuServerControl.JavaScriptFiles.hoverIntent.js")); hoverIntent.EnableViewState = false; Page.Header.Controls.Add(hoverIntent); HtmlGenericControl jquery_bgiframe_min = new HtmlGenericControl("script"); jquery_bgiframe_min.Attributes.Add("type", "text/javascript"); jquery_bgiframe_min.Attributes.Add("src", Page.ClientScript.GetWebResourceUrl(typeof(Menu), "MenuServerControl.JavaScriptFiles.jquery_bgiframe_min.js")); jquery_bgiframe_min.EnableViewState = false; Page.Header.Controls.Add(jquery_bgiframe_min); HtmlGenericControl superfish = new HtmlGenericControl("script"); superfish.Attributes.Add("type", "text/javascript"); superfish.Attributes.Add("src", Page.ClientScript.GetWebResourceUrl(typeof(Menu), "MenuServerControl.JavaScriptFiles.superfish.js")); superfish.EnableViewState = false; Page.Header.Controls.Add(superfish); HtmlGenericControl supersubs = new HtmlGenericControl("script"); supersubs.Attributes.Add("type", "text/javascript"); supersubs.Attributes.Add("src", Page.ClientScript.GetWebResourceUrl(typeof(Menu), "MenuServerControl.JavaScriptFiles.supersubs.js")); supersubs.EnableViewState = false; Page.Header.Controls.Add(supersubs); if (Direction == Directions.LeftToRight) { HtmlGenericControl csslink = new HtmlGenericControl("link"); csslink.Attributes.Add("href", Page.ClientScript.GetWebResourceUrl (typeof(Menu), "MenuServerControl.CSS.superfish.css")); csslink.ID = "NavigationMenu"; csslink.Attributes.Add("type", "text/css"); csslink.Attributes.Add("rel", "stylesheet"); csslink.EnableViewState = false; Page.Header.Controls.Add(csslink); } else { HtmlGenericControl csslink = new HtmlGenericControl("link"); csslink.Attributes.Add("href", Page.ClientScript.GetWebResourceUrl (typeof(Menu), "MenuServerControl.CSS.RightToLeft superfish.css")); csslink.ID = "NavigationMenu"; csslink.Attributes.Add("type", "text/css"); csslink.Attributes.Add("rel", "stylesheet"); csslink.EnableViewState = false; Page.Header.Controls.Add(csslink); } if (this.VerticalOrHorizontal == VerOrHor.Vertical && this.Direction == Directions.RightToLeft) { HtmlGenericControl csslink01 = new HtmlGenericControl("link"); csslink01.Attributes.Add("href", Page.ClientScript.GetWebResourceUrl (typeof(Menu), "MenuServerControl.CSS.RightToLeft superfish-vertical.css")); csslink01.Attributes.Add("type", "text/css"); csslink01.Attributes.Add("rel", "stylesheet"); csslink01.EnableViewState = false; Page.Header.Controls.Add(csslink01); } else if (this.VerticalOrHorizontal == VerOrHor.Vertical) { HtmlGenericControl csslink01 = new HtmlGenericControl("link"); csslink01.Attributes.Add("href", Page.ClientScript.GetWebResourceUrl (typeof(Menu), "MenuServerControl.CSS.superfish-vertical.css")); csslink01.Attributes.Add("type", "text/css"); csslink01.Attributes.Add("rel", "stylesheet"); csslink01.EnableViewState = false; Page.Header.Controls.Add(csslink01); } #endregion } protected override void RenderContents(HtmlTextWriter output) { output.Write(CreateMenuHtmlTags()); } StringBuilder CreateMenuHtmlTags() { if (this._MenuItems == null) throw new Exception("تگ های مربوط به منو را کامل کنید"); StringBuilder Html = new StringBuilder(""); #region Add <Script> if (String.IsNullOrEmpty(Main_ul_CssClass)) Html.Append("<script>$(document).ready(function() { $("ul.sf-menu").superfish({pathLevels: 1,"); else Html.Append("<script>$(document).ready(function() { $("ul." + Main_ul_CssClass + "").superfish({ pathLevels: 1,"); Html.Append("delay:" + _AnimationDelay + ","); Html.Append(_AnimationType + ","); Html.Append(_AnimationSpeed + ","); Html.Append("dropShadows: " + DropShadow.ToString().ToLower() + ","); Html.Append(@"autoArrows: " + AutoArrows.ToString().ToLower() + "});});</script>"); #endregion if (string.IsNullOrEmpty(Main_ul_CssClass) && VerticalOrHorizontal == VerOrHor.Vertical) Html.Append("<ul class="sf-menu sf-vertical sf-js-enabled sf-shadow" id='sample-menu-1'>"); else if (String.IsNullOrEmpty(Main_ul_CssClass)) Html.Append("<ul class="sf-menu sf-js-enabled sf-shadow" id='sample-menu-1'>"); else Html.Append("<ul class="" + Main_ul_CssClass + "" id='sample-menu-1'>"); foreach (MenuItem item in _MenuItems) { if (item == null) continue; if (item.SubMenuItems != null && item.SubMenuItems.Count > 0) { Html.Append("<li" + item.li_CssClass + ">"); Html.Append("<a href="" + item.Href + "">" + item.Text.Trim() + "</a>"); ParseSubMenuItems(ref Html, item); Html.Append("</li>"); } else if (item.SubMenuItems != null) Html.Append("<li" + item.li_CssClass + "><a href="" + item.Href + "">" + item.Text.Trim() + "</a></li>"); } Html.Append("</ul>"); return Html; } void ParseSubMenuItems(ref StringBuilder Html, MenuItem menuItems) { if (menuItems == null) return; Html.Append("<ul " + menuItems.ul_CssClass + " style="display: none; visibility: hidden;">"); foreach (var item in menuItems.SubMenuItems) { if (item == null) continue; MenuItem Sub_MenuItem = item as MenuItem; WebControl webControl = item as WebControl; if (Sub_MenuItem != null) { if (Sub_MenuItem.SubMenuItems != null && Sub_MenuItem.SubMenuItems.Count > 0) { Html.Append("<li" + Sub_MenuItem.li_CssClass + ">"); Html.Append("<a href="" + Sub_MenuItem.Href + "">" + Sub_MenuItem.Text.Trim() + "</a>"); ParseSubMenuItems(ref Html, Sub_MenuItem); Html.Append("</li>"); } else if (Sub_MenuItem.SubMenuItems != null) Html.Append("<li" + Sub_MenuItem.li_CssClass + "><a href="" + Sub_MenuItem.Href + "">" + Sub_MenuItem.Text.Trim() + "</a></li>"); } else if (webControl != null) { Html.Append("<li>"); webControl.EnableViewState = true; this.Controls.Add(webControl); webControl.EnableViewState = true; StringBuilder sb = new StringBuilder(); sb.Append("<div>"); using (StringWriter sw = new StringWriter(sb)) { using (HtmlTextWriter textWriter = new HtmlTextWriter(sw)) { webControl.RenderControl(textWriter); } } sb.Append("</div>"); Html.Append(sb.ToString()); Html.Append("</li>"); } } Html.Append("</ul>"); } #endregion } } MenuItem.cs using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.ComponentModel; using System.Web.UI; using System.Web.UI.WebControls; using System.Collections; namespace MenuServerControl { [DefaultProperty("SubMenuItems")] [ParseChildren(true, "SubMenuItems")] [TypeConverter(typeof(ExpandableObjectConverter))] public class MenuItem : INamingContainer { #region Fields ArrayList _SubMenuItems; string text = ""; string href = "#"; string _ul_CssClass = ""; string _li_CssClass = ""; #endregion #region Properties [Description("متن منو آیتم")] [DefaultValue("")] [NotifyParentProperty(true)] public string Text { get { return text; } set { text = value; } } [DefaultValue("#")] [Description("<a /> href attribute")] [NotifyParentProperty(true)] public string Href { get { return href; } set { href = value; } } [DefaultValue("")] [Description("<ul /> css class")] [NotifyParentProperty(true)] public string ul_CssClass { get { if (string.IsNullOrEmpty(_ul_CssClass)) return ""; _ul_CssClass = " class="" + _ul_CssClass + """; return _ul_CssClass; } set { this._ul_CssClass = value.Trim(); } } [DefaultValue("")] [Description("<li /> css class")] [NotifyParentProperty(true)] public string li_CssClass { get { if (string.IsNullOrEmpty(_li_CssClass)) return ""; _li_CssClass = " class="" + _li_CssClass + """; return _li_CssClass; } set { this._li_CssClass = value.Trim(); } } [Category("Behavior")] [Description("The MenuItems collection")] [DesignerSerializationVisibility(DesignerSerializationVisibility.Content)] [PersistenceMode(PersistenceMode.InnerDefaultProperty)] public ArrayList SubMenuItems { get { if (_SubMenuItems == null) _SubMenuItems = new ArrayList(); return _SubMenuItems; } } #endregion } }