I have a simple HttpHandler that generates a dynamic image based on query string parameters and a custom web control that renders an image tag pointing to the handler as its 'src' attribute. All works fine when run in the web server, but at design timethe control displays as the "missing image" icon (red x in a box). The handler is registered in the web.config with a ".ashx" extension. The RenderContents method in the control looks like this:
I am creating custom server control. I have two classes in project. One is main class that render control and another will be used to render content based on condition.I just want to know how to render content from other classes in main class.For example. This isjust an example.My main class code
[Code]....
My TopLeftPane class
[Code]....
My page code on page load event
[Code]....
When I run the page, Header title always getting null. This is a just sample code. I will have more than 20 classes so I dont want to write a code in main class to render whole control.I hope all of you understand my problem.
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'?
I have a gridview that is populated on the Page_Load event if !PostBack is true. The gridview has several column, each header template has a custom control that I'm using to sort the data in a more efficient way than what the ASP.NET gridview offers.
These custom controls have an OnSort event, I have tried defining them in the markup (was always null after postback) and hooking them up each time the page is loaded (now works).
Basically on a page postback, the ViewState for the custom controls in the gridview are being 'lost'. This is a problem as I have a Sort Direction field that toggles between Asc and Desc, and I rely heavily on the ViewState to remember the last value. Does anyone know what I might be doing wrong here? Or how I could change my code to keep the ViewState.
This way buttons are rendered on design view as well. The problem is that number of buttons to render is dynamic based on data in xml file (even if the data was static, the number of button is about 12 and I don't think it is wise to copy paste the same code above 6 times...). I thought by using loop for that:
int i = 1; foreach (Button button in tb.Items) { writer.AddAttribute(HtmlTextWriterAttribute.Type, "button"); writer.AddAttribute(HtmlTextWriterAttribute.Id, this.UniqueID + "butto_Foo" + i); writer.AddAttribute(HtmlTextWriterAttribute.Value, button.ButtonValue); writer.RenderBeginTag(HtmlTextWriterTag.Input); writer.RenderEndTag(); //button i++; }
tb is defined in OnLoad; On run time it works, but on design time I get error: > Error rendering control. And control is not being rendered.
I have been trying to implement an extended GridView that eventually will include a panel with a number of filter options outside of the grid iteself.
As a test I have added a dropdownlist and a linkbutton but when these are rendered to the page they are rendered as plain HTML with none of the javascript or ids that are generated for server controls as a consequence the postback event is not fired when a dropdownlist item changes and the linkbutton is rendered as plain text.
The method GetDesignTimeHtml of the ControlDesigner class should return html markup that will be shown on the page in design time. My problem is that control looks different in different versions of the visual studio. What is the rendering engine visual studio use to render control in design mode?
It was my expectation that by default, the Title property would be stored in ViewState, but this appears not to be the case - the exception in RenderBeginTag keeps getting thrown on postback.
Am I being thick? Do I need to explicitly store properties in ViewState?
I want to write own control which can contain other. And I want to define content of the control in the .aspx file where the control is defined. I have written such control. But now I have issue with ViewState of inner controls of my control. The following samle illustrates the issue: I defined two asp:DropDownList ID="ddl1" and ID="ddl2" One of them is inside of my control and other is outside. When posback is occurred asp:DropDownList ID="ddl1 loses state and becomes empty. How to say ASP.net to store state of inner controls defined by this way?
MyControl.ascx:
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="MyControl.ascx.cs" Inherits="DynamicControls.Controls.MyControl" %>
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'm trying to write a custom rendering template for use in the DisplayForm of a list whose fields include Title, HeaderImageUrl, Body. I've got the following so far:
I've got a Treeview inside an Updatepanel, currently I'm developing directly on a dev server with a remote connection to it. I've set the CollapseImageUrl and ExpandImageUrl properties and when I view it on the dev servers' browser it renders fine.
I have some rendering logic for custom markup (a'la bbcode, but not bbcode). So that when I'm getting the stuff from DB I'm then calling MyRender.ToHTML(model.text)... Now what I do today is I just have a form below and I do a post and add the item and return the same view. My question is - how to do it with ajax? Should I create a control and return HTML a'la winforms? Is that sexy? How do you do something like that? Or should I drop it? Maybe duplicate the rendering logic with javascript?
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?
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 want to know that when we create custom controls, then is there State Management through ViewState done automatically or we have to handle it explicitely ?Since i have created Custom Controls that is behaving as if it is not maintaining its state on PostBack.
I have a custom control in an aspx page that has a property named Size
public int Size { get { return Convert.ToInt32(ViewState["CreativeSize"]); } set { ViewState["CreativeSize"] = value; } }
This property is set in the aspx page to a value lets say 500 during a postback called by a Button control that is in the page (not in the custom control).
I also have a button inside the custom control that raises a postback like this
protected void btnUpload_Click(object sender, EventArgs e) { if (fuBannerfile.HasFile) if (fuBannerfile.FileContent.Length / 1024 > this.Size) ;//code here not important }
When this event is called the "this.Size" property is 0. I also noticed during debugging that during Page_Load of the page, if i access the property like this:
int size = customControlId.Size;
the property is set to 500. But after that when the debugger reaches the event inside the control the property is 0.
I am trying to build a custom composite control, which allows me to add custom content to each child control. It's a similar concept to what you have with a GridView and TemplateColumn. The markup used to place the control on the page would end up being something like this:
[Code]....
I have the code below, which allows me to put that markup on the page without throwing any errors, and it renders all the correct HTML, except it doesn't render the contents of the ColumnTemplate. I have replaced the Render() code with a comment because it's quite long winded and doesn't add anything important here:
[Code]....
I have tried to follow examples on MSDN and other forums but I can't make this work. I think I'm missing the code to render the contents of the template, but I don't know how to hook that up.
UpdatePanel1 contains dynamic controls and a Treeview,
UpdatePanel2 contains Image, and UpdatePanel3 contians dispaly information and several buttons. I set up the Triggers in the UpdatePanels. however when I click one of the Buttons the dynamic controls in UpdatePanel1 get wiped out but the state of the rest of the controls seems ok. I would like for the dynamic controls to stay.
Now here is the weird thing. First i am running it locally on the built in vs2008 web server.I load my control in fine, do a postback from a linkbutton, locally on my machine it all works fine, no issue.However when it goes onto my host, it falls over with the message:
Failed to load viewstate. The control tree into which viewstate is being loaded must match the control tree that was used to save viewstate during the previous request.Now i also load controls dynamically and use postbacks and things in the admin area of the site...and that works fine, however my front end just keeps failing? See the code behing below: