Forms Data Controls :: Nested Gridview Inside Updatepanel Doesn't Fire OnClick Button Event?
Jul 28, 2010
i have two nested gridview inside an update panel. there is a button called btnPhoneEdit inside the child grid view. when the button gets clicked, it do cause partial post back as expected but it fails to invoke btnPhoneEdit_Click.
here is how my grid view looks like and how i add my custom data source to both parent and child grid view.
[Code]....
[Code]....
View 1 Replies
Similar Messages:
Nov 28, 2010
The following code is my ASP.NET page :
<MdsMenu:MenuItem Text="Button" Href="#">
<asp:Button ID="Button1" runat="server" Text="Button 01" OnClick="Button_Click" />
<asp:Button ID="Button2" runat="server" Text="Button 02" OnClick="Button_Click" />
</MdsMenu:MenuItem>
I don't know why Button_Click event doesn't fire!
protected void Button_Click(object sender, EventArgs e)
{
Button senderButton = sender as Button;
Label1.Text = senderButton.ID.ToString();
}
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
}
}
You can download the project from here.
View 1 Replies
Mar 29, 2011
How to fire a button click event inside a grid view.
View 2 Replies
Mar 29, 2011
I hv following Gridview inorder to update records in DataTable, but control event onRowUpdating is not active even if if update link press i.e.
[Code]....
I hv following CodeBehind in VB for OnRowUpdating i.e.
[Code]....
But above code does not fire, I Put debugger on GridView1_RowUpdating but control does not active that module
View 9 Replies
Jan 23, 2011
I don't understand because the click event doesn't fire in ascx control nested in masterpage.
The scenario is:
In Page Pre-Init i load a particular MasterPage, one of these have a ascx control with LogOff Button.
The ascx is showed correctly but doesn't fire the button click event that allow me to logoff.
I haven't load the control programmatically but directly in masterpage:
[Code]....
[Code]....
View 4 Replies
Aug 16, 2010
I have an UpdatePanel with a GridView. This GridView has a template column that is a DropDownList. The problem is that the SelectedIndexChanged event does not fire for the DropDownList. Here is the code:
[Code]....
The codebehind:
[Code]....
View 2 Replies
Mar 22, 2011
I have a search button on click on which i bind data in grid view
Grid view has link button which has row command associated with it, but it doesnt fire
[URL]
but i load values in gridview on click of search button and not in Page load, not sure where i am going wrong
Grid View is inside update panel, also there are ajax controls on the page and it's using master page.
View 2 Replies
Mar 22, 2010
In my project when i click any button or linkbutton, it doesnt fire any event or doesnt postback.
It was working fine but now it hv problem like this.
I think i have changed some settings by mistake.
View 5 Replies
Jun 7, 2013
I tryed to put a nested Gridviews (parent-child) in an UpdatePanel, but it didn 't work as I want. Firstly the code of the Gridview (its from the example reffering to this [URL] .....)
<form id="form1" runat="server">
<asp:ScriptManager ID="scriptMgr" runat="server" EnablePartialRendering="true" />
<asp:UpdatePanel ID="updatePnl" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:GridView ID="gvCustomers" runat="server" AutoGenerateColumns="False" CssClass="Grid"
DataKeyNames="CustomerID" onrowcommand="RowCommand1">
[CODE]...
in the scriptManager, no exception will be shown, but on RowCommand a complete Postback is done.
View 1 Replies
Jun 15, 2010
I've created a databound gridview inside the gridview's RowDataBound I use the RowSpan property to merge cells. The grid ends up looking like this for example....
Data Data Data Button
Data Data Button
Data Data Data Button
Data Data Button
Data Data Data Button
The button is generated using a Template Field and is a standard ASP:Button. If I click a button in an unmerged row everything works as expected. If I click a button in a merged row...the sender object on the command comes back as null and no matter what I try I can't seem to fix it or get a reference to the button.
sender.CommandArgument
for example returns and empty string.
View 3 Replies
Dec 9, 2010
am designing report using gridview in which i want drill down report, i.e. when i click a cell of gridview which contains value from the database. i want a new gridview to be populated with detailed report, which should be generated by passing some values from parent gridview.
i have written some code for the same,but in the code the event is not getting fired.
code is:
in gridview rowdatabound
protected void gvHdr_RowDataBound(object sender, GridViewRowEventArgs e)
View 11 Replies
Oct 16, 2013
how to code the textbox text changed event in inside grid view textbox...
View 1 Replies
Mar 21, 2010
I'm trying to manually create a button and add a Click event handler for it in code. However when the button is clicked the event handler doesn't seem to react on event (or event isn't called).
we tested the code in Visual Studio 2008 and everything worked just as it should. And I'm using Visual Web Developer 2005 XE. So I assume that I'm missing something to be done manually being in VWD 2005 XE, or the problem is in VWD 2005 XE it self.
here is what I'm doing:
[Code]....
View 9 Replies
Jul 16, 2010
Trying to get a helloworld web application up running in Visual Web Developer 2010.
Now I created a new project with Home controller and two default views (index and about).
Then in the index view I added a button and a textbox...double clicking the button creates a handler in the view, but it's never called...what am I missing?
<%@ Page Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage" %>
View 2 Replies
May 4, 2010
I had an MVC 1.0 web application that was in VS 2008; I just upgraded the project to VS 2010 which automatically upgraded MVC to 2.0. I have a bunch of viewpages have codebehind files that were manually added. The project worked fine before the upgrade, but now the onclick even't don't get triggered. I.e. I have an asp:button with an onclick event that points to a method in the codebehind. When you click the button, the onclick event doesn't get triggered. In fact, when you look at the Page variable, IsPostBack is false.
This is really bizarre and I'm wondering if anyone know what happened and how to fix it. I'm thinking it has something to do with the changes in MVC 2.0; but I'm not sure. (deleting the codebehinds and moving that to the controller is not really an option since there is so many pages, moving back to vs 2008 is a last resort as I want to make use of some of the VS 2010 features like performance testing.)
View 2 Replies
May 7, 2015
I have a gridview i want to know how to get data of gridview row on button click
protected void Button1_Click(object sender, EventArgs e)
{
GridView grd = (GridView)((Button)sender).NamingContainer;
string name = grd.SelectedRow.Cells[0].Text;
}
[Code] .....
View 1 Replies
Jan 19, 2011
I am fairly new to the asp.net and experimenting with it to learn the page life cycle. Here is a problem that I have been unable to resolve for past few days.I have a hosting page (.aspx). Then I have two user controls (.ascx). The page has a place holder control in which it loads the user controls one at a time based on the application flow. First user control is loaded on application start up. It has a "continue" button. Continue button click loads the Second user control that has two buttons - "Back" and "Submit". Obviously the "Back" button should load the first user control again and Submit button should submit the form data.
View 3 Replies
Nov 29, 2010
Here's an odd one that I've never seen before. Only on IIS, not in Cassini but in all web browsers I have a button that posts back and the page_load event fires, but the actual button click event doesn't fire. there is no re-writing of the page or anything else happening.
View 4 Replies
Jan 15, 2011
i have a JQuery ui dialog box that opens up as a contact form when a link is clicked, which works fine, my problem is trying to submit the information.
When you click the send button it fires a button click event of another asp:button ive got hidden on the page...
the post back event fires and the page reloads but the asp:button click event doesn't not fire?
Heres my code:
asp:Button is as follows:
Code:
[code]....
View 11 Replies
Aug 3, 2010
I have a ListView control on a page that I need to support inline editing and inserting. Before I put it inside an update panel, everything was fine. As soon as I put it in an update panel, I seem to lose theOnItemUpdating, OnItemCanceling events. The OnItemEding event still fires, though.I am doing all updating, inserting manually.
View 4 Replies
Sep 3, 2010
I have one Datagrid with Footer. Footer Row Contains Input fields with one Button to add New Values. I have button click event but not getting fires. my code follows:
[code]....
View 2 Replies
Dec 23, 2010
I have a datalist that loops thru cart items. Within the datalist template I call a user control that has a small form that gets repeated for each item. When this control is called outside of the datalist, the form submits fine, but when called within the datalist the button has no event action. I've tried adding an event handler to ItemDataBound of the datalist, but still no event action. How can I get my form to submit?
View 8 Replies
Feb 8, 2010
So I followed Scot Mitchell's tutorial from asp.net/learn on adding a checkbox column to be able to select multiple entries and delete them with the click of a button. When I make my selection and click the button it works on the database end, as the desired entries are deleted. However, the entries remain on the page after it reloads. if I refresh the page it's updated properly but I'd like it to automatically update after the button is clicked.
Also, I tried his method for adding check/uncheck all buttons to the top of the gridview and they don't seem to be working either.
Here's the code behinf from the gridview page:
[Code]....
View 2 Replies
Feb 2, 2010
I have a modalpopup that i have opening on a radiobutton selection. That works great, opens when it should and closes when you click cancel. BUT i have the following on my cancel button event that is not firing
[Code]....
I also have a button event for my "OK" button and that works great, but my cancel event doesnt seem to fire or work. Maybe the ClearSelection() is not what i need..
I want to clear the radiobutton if they cancel out of the ModalPopUp so they can make a new selection, since its a required field.
View 2 Replies
Oct 26, 2010
Here is my situation: I have a overview of subscriptions that look simple:
Active (bool), ID (int), StartDate (datetime) and MaxUsers (int).
I've put this in a Gridview and it renders nicely.
Now everything is simply in ItemTemplates and are formatted.
Now a new feature: In the Gridview active should be a checkbox and when clicked on it, it should (de)activate the subscription. Or simply said, Active status is updated. Now me being a simpleton thinks:
[Code]....
and the cs:
[Code]....
But! the event doesnt get fired. Now I've searched with google and also through this forum and every time I get the answer: autopostback on true or use commandname. Now for this little feature I think the commandname use in combi with rowbound is overkill for such a little thing.
Now I hope I'm just missing something because this would be really nasty and stupid to make it so complicated. I like the autopostback and oncheckchanged combination because it logical, but why doesnt it work?
View 3 Replies