C# - Custom Control Doesn't Fire Validation
Jun 4, 2010
I've written a custom ASP.net control that descends from LinkButton and overrides the Render() method. I'm using it to replace ImageButtons in the site I'm working on so we don't have to have an image for each button. This control works fine, does the required post-backs etc., however it doesn't fire the validators in its validation group. This is obviously an issue. The code for the control is (condensed) as follows:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
public class CustomButton : LinkButton
{
public string SpanCssClass { get; set; }
protected override void Render(HtmlTextWriter writer)
{
if (!Visible)
{
return;
}
writer.AddAttribute(HtmlTextWriterAttribute.Name, UniqueID);
writer.AddAttribute(HtmlTextWriterAttribute.Id, ClientID);
writer.AddAttribute(HtmlTextWriterAttribute.Class, CssClass);
string postback = string.IsNullOrEmpty(OnClientClick) ? "javascript:__doPostBack('" + UniqueID + "','');" : OnClientClick;
writer.AddAttribute(HtmlTextWriterAttribute.Href, postback);
writer.RenderBeginTag(HtmlTextWriterTag.A);
writer.AddAttribute(HtmlTextWriterAttribute.Class, SpanCssClass);
writer.RenderBeginTag(HtmlTextWriterTag.Span);
writer.Write(Text);
writer.RenderEndTag();
writer.RenderEndTag();
}
}
Does anyone know why this would not be causing the validators to fire? I was under the impression that leaving all the other methods in LinkButton un-overridden would leave all the other functionality the same.
View 2 Replies
Similar Messages:
Jul 26, 2010
i have the following property which takes an IP address as its value and defined in my custom config section as follows and To validate the IP address i am using a Reg expression.
[ConfigurationProperty("SMTPServer", IsRequired = true, DefaultValue = "0.0.0.0")
View 1 Replies
Feb 21, 2011
I am building a website whereby people, before checking out of the shopping cart (and transferring to the payment iframe) can select which items from the shopping cart list to delete. The results from the shopping card are listed in a Repeater control. There is a Button in the Repeater which deletes a record from the database (used LINQ to SQL to do that.)
THe problem is that the ItemCommand event doesn't fire when i click the button. I tried 'response.write(test)' and it still would not work. It is as if the repeater cannot interact with the commands. It does render the results tho.
Here's the code:
[Code]....
View 2 Replies
Feb 22, 2011
I am building a website whereby people, before checking out of the shopping cart (and transferring to the payment iframe) can select which items from the shopping cart list to delete. The results from the shopping card are listed in a Repeater control. There is a Button in the Repeater which deletes a record from the database (used LINQ to SQL to do that.)
The problem is that the ItemCommand event doesn't fire when i click the button. I tried response.write(test) and it still would not work.
It is as if the repeater cannot interact with the commands. It does render the results though.
[Code]....
View 2 Replies
Mar 8, 2010
A little confused on something. I have a User Control in a master page. In the User Control there are image buttons. when I try to wire any click event even to say update a label in the User Control itself, nothing gets updated.
It is as if the postback is not handled at all.
What I want to do is click the image button in the User Control and then change a value in the master page. This could happen a few ways but for example it could update a public property or a control itself like a textbox or label.
View 4 Replies
Jan 22, 2011
I've run into a problem with one of my web sites and I am having trouble figuring out the problem and a good solution. This is my scenario: I have a user control that displays a slideshow with images and some text that changes every fifteen seconds. To do this, I have an update panel that contains a timer control with an interval of 15000. It calls a method called slideshowTimer_Tick in the codebehind. The web page that contains this user control is a relatively simple page; no update panels or timers, just divs.
The problem I have is that if I have two of these user controls on the page, the tick event only fires for the first control. It never fires for the second control, although the control is full initialized otherwise.
View 7 Replies
Jan 23, 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. Pretty simple.
The problem is that the command button event handler that I have on the second user control is not firing the first time. (I have one event handler for both buttons). The load event of the user control fires but then it ignores the button click. If I click it again, then it fires. I re-load the controls on the page in every page_load. Here is some relevent code:
AddPlayer.aspx:
[Code]....
The page_Load fires every time but "CommandBtn_Click" doesn't fire after the first click. I have to do it click it again. It doesn't matter which order I click the buttons.
View 1 Replies
May 25, 2010
I've got a custom control with asp:hyperlinks that's causing validation which I don't want... Is there anyway I can stop this from happening?
View 1 Replies
Jan 21, 2010
I am creating a custom control. Let's say I'm reinventing the wheel and creating a custom Button control that derives from the UserControl class(only for example)
Well, it of course has a Click event handler. Now my problem is, when do I call this event handler? I know it happens sometime between the Pages OnLoad and OnLoadComplete, but I'm not quite sure what event I can hookup to so that the Click event is raised at the same time as other control events.
View 2 Replies
Oct 12, 2010
I am trying to create a simple custom control where in there is a image button on the control along with a label.
the problem that i am facing is that the image button appears just fine along with the specified properties. But somehow when i click on the image button it does not generate the click event. the page simply refreshes.
[code]....
View 1 Replies
Mar 12, 2010
When to go for custom validation control and when to do validation in javascript? What are pros and cons of each of them?
View 3 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
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
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
May 26, 2010
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.
Page code -
<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="act" %>
<act:ToolkitScriptManager runat="server" ID="ScriptManager1" />
<asp:UpdatePanel runat="server" ID="upnlFileUpload">
<ContentTemplate>
<asp:Button runat="server" ID="btnShowUpload" Text="Show Upload" />
<div runat="server" id="divUpload" visible="false">
[code]...
View 1 Replies
Feb 11, 2011
I've created a UserControl that is dynamically placed onto my page during the Init event. It populates and works great, but I'm left scratching my head at how to retrieve data from it during a postback.
It's effectively a multipick combobox that is manipulated entirely using clientside JavaScript (I'm using jQuery heavily). Inside the control container element, I render an empty DIV element that contains all of the selected items. As the user selects items, I generate DIVs within that container DIV that includes some markup. Of interest to me on the server side are the contents of a couple of INPUT fields.
After selecting an item, the rendered HTML looks something like:
[code]....
I may be completely off track and this may actually be impossible (or a stupid idea). The only alternative I can think of is to emit actual ASP.NET controls and hook the built-in event handlers.
View 1 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
Oct 22, 2010
I use a validation control to check if value entered is numeric. When I type letter in the textbox, the error messages shows for a second, then the application continues, and eventually throw exception.
I'm going to add server side validation in code behind. But I wonder why the validation control doesn't stop the application. I don't see any difference between this web form and other web forms where validation controls work fine.
View 3 Replies
Aug 5, 2010
i want to ask question i have simple regular expression pattern like "[ABC]" when i add it to me class
[Code]....
it is working good when i add A , B Or C as i need.but if i copy this pattern and paste it in my regular expression validator control it is not working
View 3 Replies
May 11, 2010
I am creating a custom 'control' which is simply made of two html inputs [type=text] but can't figure out how the validation will work on the view end.
I want to treat these 2 inner controls as asingle control so when a error is added to modelstate both of these inputs are highlighted in the view and a single validation message is shown.
View 3 Replies
Oct 8, 2010
I want to make panels Visibility true or false based on a result of a Func.I have a page with controls as in the following code:
<asp:Panel ID="Panel2" runat="server">
<asp:Panel ID="Panel3" runat="server">
<c:PermissionPanel ID="P1" runat="server" ValidationGroup="Val1">
[code]...
View 1 Replies
Jul 18, 2010
I have this code:
protected void registerBtn_click(object s, EventArgs e)
{
bool agencyPictureActive = agencypicture.HasFile;
agencypictureValidator.Enabled = agencyPictureActive;
Page.Validate();
if (Page.IsValid)
{
and this control:
<asp:label runat="server">Logo</asp:label>
<asp:FileUpload id="agencypicture" runat="server"/>
<asp:CustomValidator id="agencypictureValidator"
ValidationGroup="userForm"
ControlToValidate="agencypicture"
ErrorMessage="some error msg" Text="*"
OnServerValidate="checkImageSizeValidate"
runat="server">
</asp:CustomValidator>
I want to validate and save the image along with other form value upon "registerBtn_click" , but the custom validation control of the image does not activate somehow... why?
This is my submit control:
<asp:LinkButton id="btnSubmit" OnClick="registerBtn_click"
ValidationGroup="userForm" Text="Submit" runat="server">
</asp:LinkButton>
View 2 Replies
Sep 16, 2010
I reference a user control in my ListView in this manner:
[Code]....
The problem is that the #Bind command doesn't update the database, but it does so when I paste the code directly into the aspx page (in other words, without the user control involved).
View 4 Replies
Oct 12, 2010
I have 2 custom validator controls on my page but for some strange reason the Custom Validator for FileUpload control works and the custom validator for TextBox control does not work. Here is the aspx code:
<asp:FileUpload ID="_fileCv" runat="server" Width="500px" /><br />
<asp:RequiredFieldValidator ID="_rfvFileCv" runat="server" ErrorMessage="Resume; " ControlToValidate="_fileCv" SetFocusOnError="True" ValidationGroup="APPLY">
<img src="images/mandatory.gif" alt="Required" /></asp:RequiredFieldValidator
<asp:CustomValidator ID="CustomValidator1" runat="server" ControlToValidate="_fileCv"
ErrorMessage="Max file size for documents is 4MB." OnServerValidate="CustomValidator1_ServerValidate" ValidationGroup="APPLY"></asp:CustomValidator>
<asp:TextBox ID="_txtHealthComments" runat="server" TextMode="MultiLine" Rows="5" Width="500" />
<asp:CustomValidator ID="CustomValidator2" runat="server" ControlToValidate="_txtHealthComments"
ErrorMessage="Kindly enter health Comments ." OnServerValidate="CustomValidator2_ValidateHealth" ValidationGroup="APPLY"></asp:CustomValidator>
Here is the code behind:
protected void CustomValidator1_ServerValidate(object source, ServerValidateEventArgs args) {
if (_fileCv.FileBytes.Length > 4194304) {
args.IsValid = false;
} else { args.IsValid = true; } }
protected void CustomValidator2_ValidateHealth(object source, ServerValidateEventArgs args) {
if (_rdoHealth.SelectedValue == "1" && _txtHealthComments.Text == "") {
args.IsValid = false; } else { args.IsValid = true; } }
View 1 Replies
Feb 2, 2011
I'm trying to add a validation support to DropDownList by creating a custom control inheriting from DropDownList:
public class MyDropDown: DropDownList, INamingContainer
{
private const string ValidatorID = "Validator";
private RequiredFieldValidator _validator;
[Code]....
My class implements INamingContainer because I wanted to avoid naming conflicts. Unfortunately when I try using this control I get the following exception:
Unable to find control id 'MDD' referenced by the 'ControlToValidate' property of 'MDD_Validator'
This is happening beause for INamingContainer FindControl(NamingContainerId) returns null.
When I remove INamingContainer implementation and set validator ID in the following way:
_validator.ID = String.Format("{0}_{1}", ID, ValidatorID);
Everything is working fine, and id given to Validator is the same as it would be inside Naming container.
But is there a way to accomplish this WITH INamingContainer ?
View 1 Replies