I have a control used in our CMS and we don't have the source code for it, what I would like to do is change the rendered output of this control.
Now, I could have a check in my base Page class that checks if the control is being used on the page and then change the html that needs to be altered, but that seems a bit excessive for just 1 usage.
So is there any other way of changing the behaviour of the control without the source code? I'm thinking not other than the way described above.
Two separate questions, but sufficiently intertwined that I'm going to try the two together....
Firstly - User Controls and Behaviours
I have a User Control which contains a few visual controls. I am attaching some behaviours by using GetScriptDescriptors and am passing some JavaScript to the browser using GetScriptReferences. That is all rock solid and working well. However, when developing, I did discover that I couldn't attach the ehaviours to the User Control itself - not surprising as rendering a User Control does not create a DOM element which represents the actual control. So, I have attached my behaviours to a "random" TextBox within the User Control.
So - first question, is there a better way to do that? For example, should I always be rendering a SPAN as an element to surround the control? Not sure what that would do to the robustness of the rendering. What is the right way to attach a behaviour to a User Control.
Secondly - Accessing those same Behaviours later
Assume I have placed a User Control on the page. That User Control exposes a Property (actually a Javascript Function of course) which does "something" to the control - for the sake of example we'll say that the function is set_Border(colour). I then have a behaviour on the same page (actually an Extender on a different control) which needs to call the function. I have a reference to the User Control in my script, so I have tried TheControlReference.set_Border('red') and find that my control doesn't support the set_Border method.
I guess this is probably because the behaviours are not attached to the User Control itself, but to a GUI element within it. Hence, I suspect that the answer to the second question lies within the answer to the first.
I have a custom control that renders different controls based on a property value. This all works correctly until i try and add a rating control to the control. When i render both controls in the CreateChildControls the control is rendered properly.
However when i try to add layout by overriding the RenderContents method and rendering controls there, an error is generated Extender controls may not be registered after PreRender.The code shows both methods of creating the controls.
I am just playing with custom controls, and have one built that looks like so:
[Code]....
I'm pretty sure its the Rendering / CreateChildren process that I'm not doing right. Problem is I cant find a good example that shows how to rerender your usercontrol when something needs updating.
I am outputting the entire HTML for my server control as follows:
public override void Render(HtmlTextWriter output) { output.Write(myStringBuilder.ToString()); }
myStringBuilder is a StringBuilder object that is manually built in a separate private method.Is this an efficient way to do it? Or is it better to pass the HtmlTextWriter to my private method and make multiple calls to HtmlTextWriter.Write()?
I am developing website using xmlhttp request.I am using treeview control in a webpage.I am sending xmlhttp request to page for adding a treenode to treeview control.I added a node in the treeview control and i render the treeview control html using control.render method and send html to client through without postback.But i am not able to maintain the state of treeview control like selected node and expanded nodes.So I want to send state info to server through xmlhttp and how to update the state info in server,aslo i need to update the treeview control javascript objects like treeview_data which maintains the treeview state when i return back from server.
I can successfully add graphs to any pages in my MVC solution except any pages within the Project Folder - I have no idea why as the same code works in every other folder - the image of the graph in the Project folder renders just a red cross - can anyone think of anything it could be? - I had a colleague check I wasnt going daft and the code looks the same and the page only has a graph.
I ripped out all the code so that the index page only has a graph within the Project folder and yet it still doesnt render correctly.
why the following code bombs with a NullReference exception.
[Code]....
I just want to output the html for the menu control to a string, if I remove the line that adds the new menu item or I change the control to a calander control instead of a menu control the it works fine.
I have placed a ratngs control like the one shown in the tutorial. When I debug the page, I cannot see the ratings control. However I can hover over where the control is, and it will show the ratings tooltip (e.g. 1, 2, 3, 4 and 5), but no stars.
I have a ReportViewer (ver 10) that is rendering far wider than the box it's meant to display in. The problem is that the Parameters area is appearing much wider than the actual report area. If I put an "overflow: auto" in the div that contains the ReportViewer control, then I get a horizontal scrollbar at the bottom, but then in order to click the "View Report" button I have to scroll way over, thus moving the entire report.
Ideally I would like the Parameters area to stay stationary, but a horizontal scrollbar to appear on the report area so that it can be scrolled if necessary. What is the best way to go about doing this?
I am trying to render the Button control @ serverside with PostBackUrl properties to set to another page ""~/page1.aspx". When I click on that button , it still postback to same page , does not postback to "page1.aspx" . I am trying to implement crosspage postback. I don't know button information and postbackurl info at design time. I Only know button and PostbackUrl info @ runtime.Code I am using
protected void Page_Load(object sender, EventArgs e) { div1.InnerHtml = GetRenderControl(); } public string GetRenderControl() { Button buttonAdd = new Button();
I just updated my site to run off .Net 4 (mainly for SEO) and love it so far but now just got my first problem. I am updating the controls for my forms authentication, while I have updated the Login control and used the RenderOuterTable=False with no problem I am now updating the CreateUserWizard and it does not have a RenderOuterTable.
This is causing the page to look like butt because of the table, so the question is now how do I stop it from rendering the tables? When I search on google I find posts sites saying to use RenderOuterTable and others saying your SOL.
I can not see microsoft really leaving us SOL on this expectialy since tables are not supposed to be used for site layout and the hole point of RenderOuterTable was to let users avoid tables.
I am having a problem with rendering a menu control inside a server control. I am getting an error in the RenderContents override method when I try to render the Menu Control. The error I am getting is an Object Reference error. The code is below...
I created a custom server control. The control works perfectly when added into a project. The issue I have though, is that in the designer - it shows the error --> "Error creating control - MyControl1 Object Reference not set to an instance of an object" The error is because I am using this code to load startup scripts
Dim pg As Page = HttpContext.Current.Handler
if i comment it out then the designer does not throw the object reference error so I know this is where the problem is. So here is my question: How can I get the designer to ignore the HttpContext.Current.Handler object for rendering puroposes?
When Bing map control loads for first time on any browser all pushpin on map are visible.
Bing map control renders perfectly.
Then I refresh browser it create rendering issue some custom pushpin on map gets disappeared. This behavior continues with pushpin. Pushpin are (.png) images and I am not using default bing map thumbtacks.
May be it is issue of browser caching content or Bing map control rendering issues on various browsers.
I've encountered was appears to be a strange bug with the menu control, and alas, I am unable to find much useful information on it (which leads me to believe I have something installed or confingured incorrectly). Here the problem:
When declaring a menu control with a staticHoverStyle, for example:
Has no effect on the behavior of the control once it's rendered, neither in Firefox nor IE.In fact, using the source code at
http://msdn.microsoft.com/en-us/library/ms366731.aspx with no modifications also results in the hoverstyle not working.
This problem seems to be "fixed" if you specify the css attribute declaratively, for example, StaticMenuItemStyle-BackColor="Yellow". Alternatively, if you specify RenderingMode="table" then the hoverstyle seems to work. It's only when you're using a cssclass with a list that things seem to mess up.
Finally, I notice that in the rendered html, the control embeds some styles between /* <![CDATA[ */ and /* ]]> */ comments that affects the final appearance of the menu control, sometimes overwriting a cssclass you specified (ex: the margin for dynamic menus can only be controlled with the HorizontalOffset property, and not by css). This is undesirable, but I don't see anything that seems to overwrite the behavior of hover elements. Actually, the .hoveritem class doesn't appear anywhere in the markup at all, but when you specify the StaticMenuItemStyle-BackColor property, then the value is rendered correctly in this block of styles.
2- i have Ajax Control ToolKit HTML Editor OutSide My UpdatePanel and its not inside any control.
my problem when make HTMLedior (visible=false ) onpage event, MyupdatePanel Render Control Much Fast, but when i Make it visible its slow my application althougth this htmleditor not included in any update panel and its not refreshed.
I currently have a file "abc.htm" in my Custom Server Control Project and it's Build Action is set to Embedded Resource.Now in the RenderContents(HtmlTextWriter output) method, I need to read that file and render it on the website.I am trying the following but it's to no avail:
protected override void RenderContents(HtmlTextWriter output) { var providersURL = Page.ClientScript.GetWebResourceUrl(typeof (OpenIDSel), "OpenIDSelector.Providers.htm"); var fi = new FileInfo(providersURL); // <- exception here //the remaining code is to possibly render the file }
I am using two user controls in my page. The controls are loaded dynamically one at a time. I'm just referencing the user controls in the page and loading them dynamically using 'LoadControl()'. Everything is working fine till now and the user can switch the controls one another.
Here the issue I found is eventhough the controls are working as expected and the data is visible, the rendered HTML contains only the first loaded user control's markup.
Even if the current control displayed is 'usercontrol2', the source shows 'usercontrol1' markup. How can I force the page to render 'usercontrol2' markup and remove 'usercontrol1' markup while loading'usercontrol2'?