Web Forms :: Custom Control Can Add Click In The Control Codebehind But Not When Using The Control
Feb 16, 2011
ive created my own custom control, now in the code behind of the custom control file i can add Name.Click += new EventHandler(name); but on the codebehind of the page where ive used the custom control i cannot, is there anyway i can regsiter it as an available attribute to add? my code below and on the image the test codebehind click is not available, how can i get it?
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
public partial class LargeButton : System.Web.UI.UserControl
{
public string JSFunc { get; set; }
public string SSFunc { get; set; }
public string ImgName { get; set; }
public string LinkText { get; set; }
protected void Page_Load(object sender, EventArgs e)
{
Link.Attributes.Add("onclick", "javascript:"+ JSFunc + ";");
Link.HRef = "javascript:;";
Link.Title = LinkText;
Img.Src = "~/App_Themes/" + Page.Theme + "/Images/Icons32/" + ImgName;
Img.Alt = LinkText;
//Link.ServerClick += new EventHandler(asd);
}
}
<%@ Control Language="C#" AutoEventWireup="true" CodeFile="LargeButton.ascx.cs" Inherits="LargeButton" %>
<a ID="Link" runat="server" class="MenuItemLarge" clientidmode="Static" >
<img ID="Img" align="center" runat="server"/>
<br />
<%= LinkText %>
</a>
<MB:LgButton runat="server" ID="Save"
JSFunc="Save(this)"
ImgName="save_32.png"
LinkText="Save" />
View 4 Replies
Similar Messages:
Feb 3, 2010
I have a custom control that is based off the gridview control located at: here The control is basically a gridview that automatically creates a column of checkboxes that can be used to "check" individual rows in the gridview. During the gridview's "CreateColumns" event, the "checkboxcolumn" is created dynamically. The checkboxcolumn also contains another checkbox in the header that is used to "select/deselect all" checkboxes in the column. Since the gridview does not automatically remember the state of the checkboxes in the checkboxcolumn on postback, I added a method to the control called "SaveCheckBoxState" which stores the indexes of the checked rows in Viewstate, and then I modified the "OnRowDataBound" event to check the Viewstate and reset the checkboxes based on the Viewstate.
I then added a call to "SaveCheckBoxState" in the gridview's OnSorting and OnPageIndexChanging events. This works great so long as I'm sorting or changing pages. However, I need it to update the viewstate everytime someone clicks or unclicks one of the checkboxes. At this time, the checkboxes are rendered with an onclick event that calls some javascript to highlight the row, or in the case of the checkbox in the header, to select/deselect all checkboxes. I need to call the "SaveCheckBoxState" method from the javascript used by the customcontrol, or I need to find a way to modify viewstate from javascript and perform the same action as "SaveCheckBoxState".
I've tried adding the "SaveCheckBoxState" to the onclick event declaration in the checkboxes, but when run, it simply tells me that the method is undefined. It doesn't exist in the parent page, and I don't think I should have to make an event for the parent page to pass the click to. It seems to me this should be all self contained within the custom control. Does anyone know how I can acheive this? Here is the code for the gridview OnPreRender event where the onclick event of the checkbox is set:
protected override void OnPreRender(EventArgs e)
{
// Do as usual
base.OnPreRender(e);
// Adjust each data row
foreach (GridViewRow r in Rows)
{
// Get the appropriate style object for the row
TableItemStyle style = GetRowStyleFromState(r.RowState);
// Retrieve the reference to the checkbox
CheckBox cb = (CheckBox)r.FindControl(InputCheckBoxField.CheckBoxID);
// Build the ID of the checkbox in the header
string headerCheckBoxID = String.Format(CheckBoxColumHeaderID, ClientID);
// Add script code to enable selection
cb.Attributes["onclick"] = String.Format("ApplyStyle(this, '{0}', '{1}', '{2}')",
SelectedRowStyle.CssClass,
style.CssClass,
headerCheckBoxID);
// Update the style of the checkbox if checked
if (cb.Checked)
{
r.BackColor = SelectedRowStyle.BackColor;
r.ForeColor = SelectedRowStyle.ForeColor;
r.Font.Bold = SelectedRowStyle.Font.Bold;
}
else
{
r.BackColor = style.BackColor;
r.ForeColor = style.ForeColor;
r.Font.Bold = style.Font.Bold;
}
}
}
View 1 Replies
Mar 4, 2010
I have a custom control which inherit from the Table class and in the constructor, it takes a an integer as an argument. There is no empty constructor.
Is there a way for the user to set that variable in the properties window after they drag the control onto a form.
I know some .NET controls, you can set the source for the parameter to different things like another control's property, QueryString using just the properties window.
Right now, I have to create the control dynamically. I read the query string and then created the object.
View 1 Replies
Dec 24, 2010
here's a situation and I would appreciate your response.
I have programmatically created the Wizard control:
Page_Load(obj s, evargs e)
{
Wizard ClaimDetailWizard = new Wizard();
foreach(int item in selectedItems)
{
//create new step
//added custom control to new step
//add step to wizard
}
//added wizard to a placeholder on a page
}
Based on List I get from Session i added new steps to my wizard To each step I had added a custom control
Each custom control in tern contains another custom Gridview Control in it.
So here's the problem when the page loads for example for two steps. All is good Wizard does what it's supposed to do.
But when I try to use sorting or paging in that custom Gridview. Somehow it displays the gridview I should see in the next step of the wizard.
Also what I'm noticing through debugging. Is that when I press next in the wizard I go back to the original page where I do all of the code specified above, and it recreates the wizzard. But it goes to the next step. Is this the way wizard supposed to work? Just doesn't seem very efficient.
View 1 Replies
Dec 20, 2010
created a Custom Textbox Control that is intended to be a "masked date" textbox, so that I can handle different ways a user might enter in a date and make it work no matter what.I did this by creating a custom control with 3 separate Textboxes one for month,one for day one for year,then do some handling for different things that could be entered and it would all work.
The problem I am having is,when I add this control to the page,if I do an alert to check the Text value of the custom control it just gives me "[ServerControl1]" even if I enter in a date.
I tried doing an AutoPostback after entering so that it would refesh the Viewstate to have the values of the textboxes but the control doesnt seem to actually postback, even though I have it enabled.accessing the Textbox value after someoen
has entered a date?first custom control I have created and have been using google.
My Server Control Code is as follows:
[Code]...
View 1 Replies
Oct 27, 2010
I have created a user control and am ready to convert it into a custom control. I am trying to follow:
[URL] the steps mentioned in the link.
I am not seeing Build / Publish Web Site option.
I am using VS 2008. I only see Publish User Control but it doesn't give all the settings mentioned below. When I do publish user control, it just copies the ascx file to the desired location. how can I convert the user control to custom control.
View 2 Replies
Mar 16, 2011
My development environment: VS2010, win7. My regular solution setup for authoring a custom control is a Website project which I use for testing purposes and an ASP.NET server control project which is the actual control. Sometimes when I make changes to the custom control project and rebuild the solution the changes I made to the custom control are not shown/implemented when control is used in my testing project so I MUST close the solution and reopen it in order for my changes to appear.
View 1 Replies
Mar 3, 2011
I want to make a website having the following UI.
Once I click on 'Engines included' a treeview having all the engine node should show. I am geting the engine collection dynamically from database.
1.What should i use to create enginesIncluded control? 2.How do i show a user control having a treeview on click of 'engine included' control? 3. I also need to show the selected engines on the top row as buttons .
View 1 Replies
Oct 18, 2010
I created an Extender which has a custom property that drills down a list XML elements from an xml file, where users can select xml elements during design-time. This works perfectly fine. However, my code only has a hardcoded xml filename (source of the xml elements list) and I need to change this by maxing the xml file user-specified.
What I did is that I created another control (panel) which has a custom property that when clicked (through the ellipsis), it will allow a developer to select the xml file which is supposed to be the source xml file that the Extenders shall use. The filedialog from custom panel's property works perfectly fine.
However, my problem now is that when I drag-drop my Extender, I cannot find a way to get the property value of the custom Panel Control which contains the xml filename. I tried creating a static variable which I thought the custom controls can share but VS2010 is breaking.
View 4 Replies
Nov 7, 2010
If a composite server control normally encapsulate styling information inside, it is an example of code encapsulation and modularization. However if css properties are included inside the composite control, it is not ideal for code/styling separation and css code re-use principles. Now which consideration should be the main consideration?
View 2 Replies
Oct 12, 2010
I have 3 pages in each page there is a portion of page where it is common in all these three pages.Thought of making the common stuff as a separate control either User control/Custom control.Any suggestions on which one should i use custom/user control
View 2 Replies
Feb 28, 2011
I've created a custom control in ASP.NET for showing a pop-up message box. In my MessageBox class, I have a Content property as ITemplate like the following:
[PersistenceMode(PersistenceMode.InnerProperty)]
[TemplateContainer(typeof(MessageBoxContent))]
[TemplateInstance(TemplateInstance.Single)]
public ITemplate Content { get; set; }
I used my custom control in my page like this:
<cc1:MessageBox ID="MessageBox1" runat="server">
<Content>
<asp:Button Text="Save" runat="server" ID="B_Save" />
</Content>
</cc1:MessageBox>
Even I set the the Content property's TemplateInstance to Single, I still can't have access to the Button control.
All I want to do is to handle the click event of the button. When I assign an event handler to the button control and run the project, it throws a NullReferenceException.
View 1 Replies
Apr 13, 2010
I've some problem using custom control inherited from ImageButton in Update panel.
When I use orginal asp:ImageButton , onclick event if fired as well. But when i hit my inherited control, click event isn't fired.
Here's my custom control code:
[Code]....
Here's HTML code for it:
[Code]....
And here the onclick event:
[Code]....
View 3 Replies
Feb 26, 2010
I am writing an ASP.NET custom control.In my custom control code, I find a PlaceHolder control in the page like so:this.myPlaceholder = Page.FindControl("placeholder1") as PlaceHolder Then, I render the placeholder as the output of the custom control:
protected override void Render(HtmlTextWriter output)
if (this.myPlaceholder != null)
this.myPlaceholder.RenderControl(output);
However, this causes the placeholder to be rendered in two places - in the custom control output (good) and in the original location in the page (bad).
View 1 Replies
Aug 19, 2010
I have used calender web user control inside my project where i took textbox,button and calender...but after dragging onto my aspx page..i am unable to access this textbox,calender and button on aspx page..
View 5 Replies
May 12, 2010
I have a question regarding the GridView and the Control Designer of it.
I've made a composite control inherited of the GridView. I would like to make some new created BoundField controls available in the designer of the GridView control? So that I can select the custom BoundField control from the Available fields list.
View 1 Replies
Mar 14, 2011
How can I inherit the logion control UI in my custom ascx login control as well override it's OnAuthenticate event in my cusotm control code.
View 2 Replies
Sep 4, 2010
I would like to know how to add some additional child nodes to a custom user control class derived from System.Web.UI.Control. For example currently I have a control that contains no child nodes and on the design surface looks like the following.
<cust:MyCustomControl id="ctlMyCustomControl" runat="server" attribute1="somevalue" attribute2="somevalue" ></MyCustomControl>
What I am looking for is to have the ability to add n number of child nodes to this control from the design surface and then access their values from the code. So adding to the control stated above.
<cust:MyCustomControl id="ctlMyCustomControl" runat="server" attribute1="somevalue" attribute2="somevalue" >
<childnode1>value1</childnode1>
<childnode2>value2</childnode2>
</MyCustomControl>
It is not clear to me how to access the child nodes.
View 2 Replies
Feb 12, 2010
I am trying to included a rating control in a composite control that renders many different type of controls. I render the controls by overriding the rendercontents so that I can control the layout of the controls. When I try to add the rating control to the output i get a Page cannot be null error. Can someone provide me with the proper way to render a rating control from a composite control and be able to control the layout of the child controls.
View 3 Replies
Jun 14, 2010
I have a webdayview control (Infragistics proprietary ASP.net control) on my page. On the aspx source I've inserted some javascript (webdayview_click - clientside click event) that calls a webmethod in the codebehind. This seems to work fine, but when I
insert this webdayview control into a user control and move the corresponding javascript into the aspx of the user control, it doesn't work. I can't even insert a breakpoint into the javascript function to debug it. Is there a way to make it work? I want to enable the click event of the webdayview control so that when I click on it, the javascript function calls the webmethod. Here's my code (remember it is inside a user control):
[code]...
I posted this question on the Infragistics forum but didn't get any replies. Hopefully I'll get some here. :)
View 2 Replies
Sep 18, 2013
Is it necessary to give Control to Validate control in Custom Validator?
If yes then why this will happen?
View 1 Replies
Apr 14, 2010
I have a custom control that renders a button. I'm trying to attach a server click event but it isn't firing. My code is:
protected override void CreateChildControls()
{
btnRangeGo = new Button();
btnRangeGo.CssClass = "divSearchGo";
btnRangeGo.Text = Resources.CORE_Resource.S0C29; // Go
btnRangeGo.Click += new EventHandler(btnRangeGo_Click);
// Tried with no luck:
// this.Controls.Add(btnRangeGo); // Needed so OnClick gets registered
// Page.Controls.Add(btnRangeGo); // Needed so OnClick gets registered
}
private void btnRangeGo_Click(object sender, EventArgs e)
{
int i = 1;
}
OnRender:
btnRangeGo.RenderControl(writer);
View 5 Replies
May 10, 2010
My CompositeControl creates dinamically several RadioButtonLists according to the DataSource information. These controls are added to the Controls list and rendered in CreateChildControls event.
I need to create a LinkButton that clear a specific RadioButtonList selection and do a postback, to load the DataSource information again (some selections changes the data that need to be loaded from the database). For each RadioButtonList, I've put a LinkButton and assigned the Click Event to a method inside the same CompositeControl, to do the RadioButtonList cleaning.
Unfortunatelly, the LinkButton doesn't trigger the Click Event. In HTML code, the link has the "onclick" attribute setted with the asp.net event, but when clicked, nothing happens.
View 1 Replies
Oct 12, 2010
I need to create a reusable custom control,which is like a form containing a listbox and some fields.The fields can be either textbox or combobox as needed for different applications,which can be selected on the property of the form onwhich page that i am using it,also i needed to specify the number of fields in that property.And also need place 3 buttons below for edit and delete the selected item in the listbox and a button to save.Data will be binded from the database as needed for different applications.
tell me with code how to create it using asp.net server control in C#.
View 6 Replies
May 19, 2010
I am developing one custom control. I dont want default web control property should be in my custom control.For example.[Code]....
When you put this control in the page, you will see default web control property such as Font,Border,Width,Height.... I want to show only those properties that I define in my class.Suppose, I have three property defined in class then only three properties will be visible for control, other default web control proeprty should be hide or invisible.
View 3 Replies