Make Updownnumericextender User Control To Work Like Autocomplete One?
May 11, 2010
I have a user control which encapsulates a NumericUpDownExtender. This UserControl implements the interface ICallbackEventHandler, because I want that when a user changes the value of the textbox associated a custom event to be raised in the server. By the other hand each time an async postback is done I shoe a message of loading and disable the whole screen. This works perfect when something is changed in for example an UpdatePanel through this lines of code:
Sys.WebForms.PageRequestManager.getInstance().add_beginRequest(
function (sender, args) {
var modalPopupBehavior = $find('programmaticSavingLoadingModalPopupBehavior');
modalPopupBehavior.show();
}
);
The UserControl is placed inside a detailsview which is inside an UpdatePanel in an aspx. When the custom event is raised I want another textbox in the aspx to change its value. So far, When I click on the UpDownExtender, it goes correctly to the server and raises the custom event, and the new value of the textbox is assigned in the server. but it is not changed in the browser.
I suspect that the problem is the callback, since I have the same architecture for a UserControl with an AutoCompleteExtender which implement IPostbackEventHandler and it works. Any clues how can I solve this here to make the UpDownNumericExtender user control to work like the AutComplete one? This is the code of the user control and the parent:
using System;
using System.Web.UI;
using System.ComponentModel;
using System.Text;
namespace Corp.UserControls
{
[Themeable(true)]
public partial class CustomNumericUpDown : CorpNumericUpDown, ICallbackEventHandler
{
protected void Page_PreRender(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
currentInstanceNumber = CorpAjaxControlToolkitUserControl.getNextInstanceNumber();
}
registerControl(this.HFNumericUpDown.ClientID, currentInstanceNumber);
string strCallServer = "NumericUpDownCallServer" + currentInstanceNumber.ToString();
// If this function is not written the callback to get the disponibilidadCliente doesn't work
if (!Page.ClientScript.IsClientScriptBlockRegistered("ReceiveServerDataNumericUpDown"))
{
StringBuilder str = new StringBuilder();
str.Append("function ReceiveServerDataNumericUpDown(arg, context) {}").AppendLine();
Page.ClientScript.RegisterClientScriptBlock(typeof(CorpNumericUpDown),
"ReceiveServerDataNumericUpDown", str.ToString(), true);
}
nudeNumericUpDownExtender.BehaviorID = "NumericUpDownEx" + currentInstanceNumber.ToString();
ClientScriptManager cm = Page.ClientScript;
String cbReference = cm.GetCallbackEventReference(this, "arg", "ReceiveServerDataNumericUpDown", "");
String callbackScript = "function " + strCallServer + "(arg, context)" + Environment.NewLine + "{" + Environment.NewLine + cbReference + ";" + Environment.NewLine + "}" + Environment.NewLine;
cm.RegisterClientScriptBlock(typeof(CustomNumericUpDown), strCallServer, callbackScript, true);
base.Page_PreRender(sender,e);
}
[System.ComponentModel.Browsable(true)]
[System.ComponentModel.Bindable(true)]
public Int64 Value
{
get { return (string.IsNullOrEmpty(HFNumericUpDown.Value) ? Int64.Parse("1") : Int64.Parse(HFNumericUpDown.Value)); }
set
{
HFNumericUpDown.Value = value.ToString();
//txtAutoCompleteCliente_AutoCompleteExtender.ContextKey = value.ToString();
// TODO: Change the text of the textbox
}
}
[System.ComponentModel.Browsable(true)]
[System.ComponentModel.Bindable(true)]
[Description("The text of the numeric up down")]
public string Text
{
get { return txtNumericUpDown.Text; }
set { txtNumericUpDown.Text = value; }
}
public delegate void NumericUpDownChangedHandler(object sender, NumericUpDownChangedArgs e);
public event NumericUpDownChangedHandler numericUpDownEvent;
[System.ComponentModel.Browsable(true)]
[System.ComponentModel.Bindable(true)]
[System.ComponentModel.Description("Raised after the number has been increased or decreased")]
protected virtual void OnNumericUpDownEvent(object sender, NumericUpDownChangedArgs e)
{
if (numericUpDownEvent != null) //check to see if anyone has attached to the event
numericUpDownEvent(this, e);
}
#region ICallbackEventHandler Members
public string GetCallbackResult()
{
return "";//throw new NotImplementedException();
}
public void RaiseCallbackEvent(string eventArgument)
{
NumericUpDownChangedArgs nudca = new NumericUpDownChangedArgs(long.Parse(eventArgument));
OnNumericUpDownEvent(this, nudca);
}
#endregion
}
/// <summary>
/// Class that adds the prestamoList to the event
/// </summary>
public class NumericUpDownChangedArgs : System.EventArgs
{
/// <summary>
/// The current selected value.
/// </summary>
public long Value { get; private set; }
public NumericUpDownChangedArgs(long value)
{
Value = value;
}
}
}
using System;
using System.Collections.Generic;
using System.Text;
namespace Corp
{
/// <summary>
/// Summary description for CorpAjaxControlToolkitUserControl
/// </summary>
public class CorpNumericUpDown : CorpAjaxControlToolkitUserControl
{
private Int16 _currentInstanceNumber; // This variable hold the instanceNumber assignated at first place.
public short currentInstanceNumber
get { return _currentInstanceNumber; }
set { _currentInstanceNumber = value; }
}
protected void Page_PreRender(object sender, EventArgs e)
{
const string strOnChange = "OnChange";
const string strCallServer = "NumericUpDownCallServer";
StringBuilder str = new StringBuilder();
foreach (KeyValuePair<String, Int16> control in controlsToRegister)
{
str.Append("function ").Append(strOnChange + control.Value).Append("(sender, eventArgs) ").AppendLine();
Append("{").AppendLine();
str.Append(" if (sender) {").AppendLine();
str.Append(" var hfield = document.getElementById('").Append(control.Key).Append("');").AppendLine();
str.Append(" if (hfield.value != eventArgs) {").AppendLine();
str.Append(" hfield.value = eventArgs;").AppendLine();
str.Append(" ").Append(strCallServer + control.Value).Append("(eventArgs, eventArgs);").AppendLine();
str.Append(" }").AppendLine();
str.Append(" }").AppendLine();
str.Append("}").AppendLine();
Page.ClientScript.RegisterClientScriptBlock(typeof(CorpNumericUpDown), Guid.NewGuid().ToString(), str.ToString(), true);
}
str = new StringBuilder();
foreach (KeyValuePair<String, Int16> control in controlsToRegister)
{
str.Append(" funcsPageLoad[funcsPageLoad.length] = function() { $find('NumericUpDownEx" + control.Value + "').add_currentChanged(").Append(strOnChange + control.Value).Append(");};").AppendLine();
str.Append(" funcsPageUnLoad[funcsPageUnLoad.length] = function() { $find('NumericUpDownEx" + control.Value + "').remove_currentChanged(").Append(strOnChange + control.Value).Append(");};").AppendLine();
}
Page.ClientScript.RegisterClientScriptBlock(typeof(CorpNumericUpDown), Guid.NewGuid().ToString(), str.ToString(), true);
}
}
}
and to create the loading view I use this: //The beginRequest event is raised before the processing of an asynchronous postback starts and the postback is sent to the server. You can use this event to call custom script to set a request header or to start an animation that notifies the user that the postback is being processed.
Sys.WebForms.PageRequestManager.getInstance().add_beginRequest(
function (sender, args) {
var modalPopupBehavior = $find('programmaticSavingLoadingModalPopupBehavior');
modalPopupBehavior.show();
}
);
//The endRequest event is raised after an asynchronous postback is finished and control has been returned to the browser. You can use this event to provide a notification to users or to log errors.
Sys.WebForms.PageRequestManager.getInstance().add_endRequest(
function (sender, arg) {
var modalPopupBehavior = $find('programmaticSavingLoadingModalPopupBehavior');
modalPopupBehavior.hide();
}
);
View 1 Replies
Similar Messages:
Aug 4, 2010
i have a problem with autocomplete control i used in my page, but it does not works so, i do not know how to debug it for finding some problem i tried also to create new page and insert only textbox and autocomplete control...again does not works.... which is wrong?
[Code]....
[Code]....
View 3 Replies
Feb 25, 2010
I can't make this control work, the code i'm using to test it is:
[Code]....
But what I get when I run it is:
So the buttons are not showing, I could add them manually but then a postback would occour on everyclick.
View 6 Replies
Apr 12, 2010
Example scenario in an ASP.NET application using SQL Server membership provider :
1) a user can't remember their exact password, and tries many times in a short space of time to login with an invalid password (say 5 times in a 10 minute window). This locks out the user (i.e. sets the IsLockedOut flag of the aspnet_Membership table to 1).
2) user goes to the "forgot my password" screen to try to get a new password emailed to them. This screen uses the PasswordRecovery control. User enters their correct user id, but then cannot go further in the password recovery process, since the IsLockedOut flag is 1. (They don't even get to see their security question).
3) The user would then have to phone tech support to get themselves unlocked etc.
To reduce the burden on support staff, we are trying to reduce the times step 3 is required, by making the PasswordRecovery control (if possible), work with locked out users. i.e. when they enter their login ID, the security question comes up, and IF they enter the correct answer, the system will unlock the user, and email the new temporary password to them. I'm wondering if it is possible to tweak the PasswordRecovery control to do this.
View 1 Replies
Jun 5, 2010
I used the Create User Control to make a new user.
Is there a similar tool (I did not see one) that allows the user to edit their own profile?
If not what is the best way to do it? I have created user tables in AWAT.
View 5 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
Mar 31, 2011
I have a checkboxlist control and a button control in a popup forum. The button is diabled initially. I want to enable the button as soon as the user checks or unchecks any of the items for the first time in the checkboxlist.
<asp:CheckBoxList ID="CheckBox1" runat="server"></asp:CheckBoxList>
<asp:Button ID="SaveButton" runat="server" Test="Save" Enabled="false" OnClick="SaveButton_Click"/>
How to achieve this functionality ?
View 1 Replies
Apr 7, 2010
I've been racking my brains out trying to get this to work. I've followed multiple tutorials to the letter and I have had no luck.
Here is my Default.aspx page:
[Code]....
Here is my WebService.asmx.cs file:
[Code]....
I don't know what else there is to do. I have a zip of my solution here: [URL]
Edit: I forgot to add that I am able to run the WebService by itself. It returns the values from the function. The function is never invoked from the aspx though.
View 11 Replies
Oct 4, 2010
How do I make an autocomplete TextBox in C# that bind to a data source?
View 3 Replies
Jan 11, 2011
I specially has used hotmail and I like its autocomplete for To Address. It works very nice like it not only shows saved contacts but also suggests address on which I have sent email but they are not saved in contacts.
The most important thing is it is very fast. It is not ajaxtoolkit's automcplete what is this control.
View 1 Replies
May 6, 2010
Why my autocomplete ajax script does not work:
This is my WebService.cs
[Code]....
<cc1:AutoCompleteExtender ID="AutoCompleteExtender1" MinimumPrefixLength="1" ServiceMethod="GetCountryInfo" TargetControlID="TextBox2" ServicePath="WebService.asmx" runat="server"></cc1:AutoCompleteExtender>
Categories row in database is text type...
I use ModalPopup, too(my textbox2 is in Modalpopup), does it makes problem?
<cc1:AutoCompleteExtender ID="AutoCompleteExtender1" MinimumPrefixLength="1" ServiceMethod="GetCountryInfo" TargetControlID="TextBox2" ServicePath="WebService.asmx" runat="server"></cc1:AutoCompleteExtender>
View 7 Replies
May 20, 2010
I have the following situation in my page: I've created a textbox and then set an AutoCompleteExtender to this textbox and, later I wanted to set the focus to this field with the code behind i set textbox.focus(), when i'm trying to add focus the AutoCompleteExtender simply not working, but when i click outside the text box and click back in , it's working.
Can anybody give me a simple explanation how to solve this situation.
View 1 Replies
Jul 22, 2010
I'm having a problem with AutoComplete tool see demo here [URL]
When enter 123 for first time, it works. Then click somewhere to close the result, clear textbox enter same value, it does not work. I got a description "...Caching is turned on, so typing the same prefix multiple times results in only one call to the web service." I tried turning off cache, but still not work.
View 2 Replies
Sep 3, 2010
I would like to make a custom accordion, in which I have 2 panes, but where you couldn't open the second one until you clicked a validation button in the first one that would open the second...
I tried to just make a button that would hide the first pane but I cant get to make it work.
[Code]....
[Code]....
View 7 Replies
Jun 11, 2010
I'm new here and I need some help to use the AutoComplete Extender. I just have a default.aspx with a textbox extended with an AutoComplete. My Web Service calls a SQL Data Base thru Linq and return some account names.When I execute the WEB SERVICE and manually insert the parameters, it works! But when I execute the default.aspx, nothing happens. I really apreciate your help! See the CODES listed below:
See the Web Service code below:
[Code]....
Now, the code on DEFAULT.ASPX
[Code]....
I tried put the files in a remote SERVER, and I got the following error (in LOCALHOST I don't see that error):
Configuration Error
Server Error in '/PC' Application.
Configuration Error
Description:
An error occurred during the processing of a configuration file required to service this request. Please review the specific error details below and modify your configuration file appropriately.
Parser Error Message: Unrecognized attribute 'targetFramework'. Note that attribute names are case-sensitive.
Source Error:
[Code]....
Line 8: <configuration>
Line 9: <system.web>
Line 10: <compilation debug="false" strict="false" explicit="true" targetFramework="4.0" />
Line 11: </system.web>
Line 12:
Source File: e:homeuysoftWebweb.config Line: 10
Version Information: Microsoft .NET Framework Version:2.0.50727.3603; ASP.NET Version:2.0.50727.4028
View 7 Replies
Oct 7, 2010
i'm trying to make this work for several days but it just doesn't work.
this is my code:
aspx page:
[Code]....
webservice:
[Code]....
this was downloaded from this website.
the problem is that the page loads fine but no autocomplete occurs.
View 5 Replies
Jul 14, 2010
I want to make a user control showing links to " HOME ABOUT US CONTACT US" horizontally, but doing it using gridview,I could make it only vertically.
View 3 Replies
Dec 7, 2010
I have used ajaxtool kit's autocomplete on a page which gets data from a webservice. This autocomplete is slow, at the time I only have 10 to 20 records in table and it take about 3 to 5 seconds to search and show result in autocomplete. User have to wait about 4 second on average to see data.
View 1 Replies
Oct 29, 2010
I thought the whole idea of allowing user to create their own custom controls was to built pages in small parts, share the control with other etc. But that doesn seem like the case. I was trying to organize a very heavy page into user controls and thats when i faced this problem.
here is the architecture that i have
Main Page: AjaxExtension Script Manager
Usercontrol1 (uc1): Script Manager Proxy, Reference to Ajax Toolkit Assembly, Autocomplete Extender, Webservice Method in uc1.cs
Usercontrol2 (uc2): Script Manager Proxy, Reference to Ajax Toolkit Assembly, Autocomplete Extender, Webservice Method in uc2.cs
It doesnt work. But when i placed that webservice method in the MainPage.cs it starts working. If this is how its suppose to work then that means to me that user control only supports full designing features however programing screws are missing in it.
View 4 Replies
Jul 9, 2010
a.aspx
10 user control "user-control.ascx"
user-control.ascx
8 dropdownlist using AccessDataSource to reciece data.
It cause 8 sec when a.aspx was completely loaded as i am running localhost enviroment.
If i remove all the dropdownlist databinding, the speed is acceptable.
I though the connection to database is 8 X 10 = 80 times, so it cause a long time.
View 3 Replies
Mar 25, 2010
i have a usercontrol say "abc" in a page, in that page only i have a button to edit.In edit_Click i can not find abc.Enabled=false;how to Enable or Disable the user control
View 2 Replies
Jul 2, 2010
In Key Press Event i have put the logic of search in textbox, when i press enter key it will take the values from textbox and brings the data in DataGrid.
In another event of GotFocus there is an logic of autocompletestring collection from Table. If i type a in that textbox it will shows all the suggested string in that.
If i comment the logic of GotFocus Event for textbox for autocomplete then only then Key Press events work else its not working. I dont know why its happening.
So GotFocus loic creates the problem.
[Code]....
View 1 Replies
Oct 8, 2010
My button in user control doesn't work /its click event doesn't fire/. This user control is on the page that inherits from master page. Although, the user control buttons on the master page work correctly.
View 3 Replies
Feb 15, 2011
I have user control with one textbox on it and i want to apply datepicker to.
here is the code of mycontrol.ascx
[Code]....
If I click inside text box control the datepicker doesent shows.
If I use the same code for showing datepicker on webform it works. Why? Do I miss something or I need something to add on my control?
View 2 Replies
Jun 2, 2010
I'm trying to get my treeview control to work where a user clicks on a parent node. The node will expand.Then, the user clicks on another parent node and that node expands while the previous parent node stays expanded. My problem is that when I expand one parent node, another expanded parent node collapses.What am I doing wrong?
View 6 Replies