Accessing ToolKitScriptManager/ScriptManager From Custom Control?
Aug 7, 2010
I'm writing a custom class library that contains custom controls (not user controls).I have some embedded javascript files that need to be registered on the page.Now since this is a class library, how do I detect whether or not to use a ToolKitScriptManager or ScriptManager?Page.ClientScript is a ClientScriptManager, but would I do if the page has the new ToolKitScriptManager?
I have a form which I am using the RoundedCornersExtender, If I am using the ScriptManager control I am getting the following error-Error: AjaxControlToolkit requires ASP.NET Ajax 4.0 scripts. Ensure the correct version of the scripts are referenced. If you are using an ASP.NET ScriptManager, switch to the ToolkitScriptManager in AjaxControlToolkit.dll.I googled it and found that one way to overcome this is to use the ToolkitScripyManager, I replaced the ScriptManager with the ToolkitScriptManager and I dont get the above error anymore. On this same form I am using an UpdatePanel control but from some reason I am not getting a partial render but always a full page render.
I use scriptmanager instead of toolscript manager and don't seem to have problems. But I have noticed that the recommendation is to use toolscriptmanager. Is there any difference now?
I just downloaded the latest (3.5.40412.0) version of Ajax Control Toolkit and in order to update the existing version, I have replaced <asp:ScriptManager with <ajaxtoolkit:ToolkitScriptManager. The page loads with an javascript error:
Error: $get("id of ToolkitScriptManager_hiddenfield") is null Source File: https://localtest.dk/layouts/site.aspx?_tsm_hiddenfield_=sitesscriptmanager_hiddenfield&_tsm_combinedscripts_=%3b%3bajaxcontroltoolkit%2c+version%3d3.5.40412.0%2c+culture%3dneutral%2c+publickeytoken%3d28f01b0e84b6d53e%3aen-us%3a1547e793-5b7e-48fe-8490-03a375b13a33%3a475a4ef5%3aeffe2a26%3a1d3ed089%3a5546a2b%3a497ef277%3aa43b07eb%3a751cdd15%3adfad98a5%3a3cf12cf1%3ad2e10b12%3af3d989c9 Line: 48
Now i have added modal popup. Used ajax 15.1 toolkit. they said it doesnt require ajax script manager now.)
When i use it without ajaxscript manager it doesnt work. But when i use ajaxscript manager it works. But then i cant use scriptmanager (as two instance cant run).If i dont use script manager update panel wont work. Also i dont dont have any master page.
I am running VS2010 with the latest AJAX toolkit installed.I dont know when I use Ajax controls if I am supposed to drop a ScriptManager or a ToolkitScriptManager on my .aspx page.
using the ajaxControlToolkit requires the ToolkitScriptManager, but then i get the message: "only one scriptmanager..." the problem is, i cant find any other scriptmanager in the whole solution, so it should be somewhere in the parent pages. how can i find/get/replace this scriptmanager-object?
I am hoping I am in the right place for this, I have a web application which has been running for about 4 years recently I updated my Ajax to the most recent version it continued to work OK then I changed from ScriptManager to ToolkitScriptManager now I get an error moving from my default page
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.
I am writing a survey generating system in asp.net. i asked an ealier question about the best way to create controls that can be passed about as variables. This was problematic with user controls so i was advised to use custom controls and a quick way to do this was to inherit from the panel control and just add a bunch of standard controls the the controls collection by overriding the CreateChildControls method. This way i could create my "survey" controls,which are basically Questions in the survey. THe question controls are then dynamically added to the page. This all works well but know i have come to the point that i want to try and retrieve the values from these controls and i seem to be lost in a nether world of of viewstates and page lifecycles. I can ensure that the dynamically added text boxes have a known ID, however even if i add the parent control in the page init handler the CreateChildControls method does not run until after until after the viewstate is loaded. I cannot work out how to retreive the values from these text boxes.
does anyone know how to access a webpart using the HTML Document Object Model? for example: for a given page which contains a webpart manager and a webpartzone.
[Code]....
I cant access the custom control using the HTML DOM Like this: HtmlDocument doc = HtmlPage.Document; HtmlElement element = doc.GetElementById("HostTest"); HtmlElement element1 = doc.GetElementById("silverlightControlHost"); HtmlElement element2 = doc.GetElementById("WebPartZone3"); HtmlElement element2Parent = element2.Parent; HtmlElement element3 = doc.GetElementById("SLRoomConsumerPart1"); //element3 does not return anything at all just Null!
all of the other elements are returned except for element 3 which returns a null! Any controls (regardless if it is a custom control, ASP control, Usercontrol . i tried it by replaceing the custome control with an aspnet button. i go t a null value as well) placed in the <ZoneTemplate> Tag of the <WebpartZone> is not returned using the HTML DOM. I find this stupid and pointless, as the whole point of a webPart is that you can place all sorts of controls in it : customcontrols, usercontrols html controls, html server controls, aspnet controls and you cant seem to get access to those controls using the HTML DOM model in codeBehind <asp:WebPartZone ID="WebPartZone3" runat="server" Height="90%" Width=" <ZoneTemplate> <cc1:SLRoomConsumerPart ID="SLRoomConsumerPart1" runat="server" /> </ZoneTemplate> </asp:WebPartZone> HtmlDocument doc = HtmlPage.Document; HtmlElement my_WeBpart_Element = doc.GetElementbyId("myCustomWebPartControl1") can anyone point me to a solution or a work around as i am trying to access the dom from silverlight 3 but should be exactly the same as doing it from the webpart'shosting page's code behind. so that i can reference the controls inside my web part from the code behind of the custom page once i get hold of the webPart Element referece.
I have a piece of code that is just HTML. It was previously created as a user control. Within the application i'm working with there are two seperate websites that are interlinked to make one website. There is a documents section where users do not need to login and a data section where users need to login. The design was implemented long before I was hired. My problem is I want to use the code from the documents website with the data website but I can't seem to register the control. I only one this piece of code in one place so when it is updated it doesn't have to be in multiple places. I tried setting "src=http://website/doc/doc.ascx" but this errors out saying
If the answer to this question exists somewhere, I'm no good at searching for it. This is sort of a simple question, the response being two parts: (1) is it possible? (2) if so, how?
I've created a web user control for my site's footer. In my web.config I have it registered like this:
[Code]....
Then, within the pages on my site, I simply insert it like this:
[Code]....
But obviously, that didn't work. I get this error: The type or namespace name 'FooterControl' could not be found (are you missing a using directive or an assembly reference?)
So I'm really not sure what to do at this point. I can put all of my code in the ASPX file and make my life easier, but I would kind of prefer not to.
I've a custom Httpmodule which handles PostAuthenticateRequest & PreRequestHandlerExecute events.
However, when I try to use the module on page with ReportViwer (which needs ScriptManager) I get a bunch of browser errors such as following and the report viewer does not work as expected i.e. it doesn't show any result.
ASP.NET Ajax client-side framewook failed to load. 'Sys' is undefined Syntax error (WebResource.axd) 'Type' is undefined (ReportViewerWebControl.axd)
If I comment out the module from web.config everything works as expected (obviously without the module code).
I am using v3.0.31106.0 of the AjaxControlTookkit.dlll. I have nested master pages. The site Master page has the only ScriptManager & holds the oneColumn & twoColumn master pages. The twoColumn master page holds content pages. In the content page there is a update panel. Here is my Site Master Page:
[Code]....
Here is the Nested Master Page:
[Code]....
Before the update page I put the ToolkitScriptManager. In the update panel I put a button with a ConfirmBox Extender. I then get an error saying Only one instance of a ScriptManager can be added to the page. If I take the ToolkitScriptManager out this error goes away but then I get an error saying The ConfirmBox Extender is not recognized.According to all the posts I have read the last 24hours the master page should have the ScriptManager and the content page should hold the toolkitScriptManager.Here is my content page:
I have a user control with both an UpdatePanel and a ScriptManager.
Some pages in the system have a ScriptManager of their own, and need to include the UserControl.
This throws the "You can only have 1 ScriptManager" exception.
If I remove UserControl's ScriptManager, I'll get 'UpdatePanel1 requires a Script Manager" exception.
I've tried to modify the UserControl to dynamically include it's own script manager if none exists. But all the methods I've used before involve adding a delegate to Page.OnInit-- which won't work, since the UserControl Init fires first.
Because the system designers here like making my life difficult, I can't create a MasterPage, or a BasePage for the system in inherit off of. I'd be stuck going to each page an adding a ScriptManager before the UserControl on each of them. Is there any way of, in the UserControl, detecting if the page has a ScriptManager, and if not, adding it dynamically in a way that makes the UpdatePanel happy?
Maybe this is not the best title to it, but this is what I am trying to find out. I need a way to construct a control in ASP.Net that mimics the ScriptManager in that it should look like this:
[code]....
How to make the Control have a List of items that you can add items to from the Source of a page.
Is it possible to put a ScriptManager Control in a Content Page?I've tried inserting a ScriptManager, UpdatePanel, and ContentTemplate within the ContentPlaceHolder1 of one of my pages and it's not working.
Can anybody explain why cant you have more than one scriptmanager control in a page. Why gets emitted in the markup which creates a problem with two scriptmanager control on the page.
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; } } }
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.
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.