Custom Server Controls :: Server Controls Inside Asp:wizard, Doesnt Render Html When Step Is Not First?
Sep 30, 2010
I have a server control which consists of a gridview with custom navigation&information capabilities and with javascript functions to highlight the selected grid items or highlight when mouse over event occurs.. (full tested outside asp:wizard)I'm trying to use that server control inside a template wizard step, when I drop such server control in the first step of the wizard everything goes ok.
When I insert even a blank step previous to the step which contains the server control, the javasript code of the server control is not rendered at all, the page doesn't fail during load but until I go with mouse over an item of the grid for instance.When I check the rendered HTML I can see no HTML, nor javascript events of this server control where rendered, neither the implementation nor calls to javascript, but even rarer what is there visible in the grid for ie, even the other components of the server control, are not in the "view source code" content. I seems it was sent to the client, even showed, but truncated in some phase..
I'm trying to use a server control inside a template wizard step, when I drop such server control in the first step of the wizard everything goes ok. When I insert even a blank step previous to the step which contains the server control, the javasript code of the server control is not rendered at all, the page doesn't fail during load but until I go with mouse over an item of the grid for instance.When I check the rendered HTML I can see no HTML, nor javascript events of this server control where rendered, neither the implementation nor calls to javascript, but even rarer what is there visible in the grid for ie, even the other components of the server control, are not in the "view source code" content. I seems it was sent to the client, even showed, but truncated in some phase..The server control consists of a gridview with custom navigation&information capabilities and javascript functions to highlight the selected grid items or highlight when mouse over event occurs.. (full tested outside asp:wizard)
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.
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.
I have a custom server control inheriting from CompositeControl. It consists of two RadioButtonlist controls that are rendered side by side in an html table. The number of ListItems in each RadioButtonList is not known until runtime. Depending on how many items each list contains, the RepeatColumns property of each list is set differently. To do this in the handler for the ItemDataBound event I need to get the count of ListItems in each RadioButtonList. How do I expose the Items.Count property of each internal RadioButtonList as a top-level property? I tried using a getter to return the count but this generates a compile-time error to the effect that the count cannot be assigned to--even though I have not created a setter.
Similarly, in the handler for the Submit event, I need to get the ClientID of each internal RadioButtonList to pass to a method that checks for data changes. How do I expose the ClientID of each component RadioButtonList as a top-level property?
I can of course index the Controls collection of the composite control to access the child control and read its properties--but that defeats the whole point of making a complex, independent custom server control.
I am creating a custom server control in which I place a RequiredFieldValidator. In the the Render method and I want to dynamically create a RequiredFieldValidator and render it to the HtmlTextWriter.
The problem is, when I call RenderControl on the RequiredFieldValidator, it only generates a span for me with no javascript or client side code.
How can I completely render a RequiredFieldValidator to an HtmlTextWriter?
I am rendering custom control. I rendered the css file on the prerender. When i rendered more than one control in the aspx page, the css will loaded the number of times the controls in the page. I want to load the css file only one time. How to check the webresource css file on rendering whether it is loaded or not.
I have a control that displays a list of comments. The comments are created in a loop. The problem is that I want to put a LinkButton at the end of each comment and change the CommanArgument of each button to the ID of the current comment.
When I put the Linkbutton in the CreateChildControls method and then add the CommandArgument in the Render loop, the button works, but the argument is blank. When I put the code that's in the CreateChildControls method inside of the loop, I don't get an error, but nothing happens when the button is clicked.
how to implement requiredfieldvalidtor. Server control which i have created does not work on client side. No javascript is been rendered and onSubmit the page.isvalid returns true.
I have extended a gridview to add an additional header with following two hyperlink controls "Select All" and "Clear All". These will operate on checkboxes in the data rows of the grid. I hide the column headers as I only want to show one column with checkboxes and "Select/Clear All" links. Everything is working as expected. Now, I wanted to add a scrollbar to my grid control, I did add the scroll bar using div but what it does is, it includes the "Select All and Clear All" links aswell. I only need to add the scrollbar to datarows and not to the header.I am trying to extend my control to include hte scrollbar by adding div during Render function. But how will I determine or loop through header rows? How will i get the header row with hyperlinks that I created above?? In Render if I do this.HeaderRow, it gets the original column header and not the custom header.
I'm trying to get the text values from each textbox in a custom created createuserwizard step however i keep returning null for each textbox however the default step & text boxes (ie. UserName, Password, Email, etc, etc) i can get the text value with no problem
I created and populated a database inside Visual Studio 2008 instead of using Management Studio.I need to run the script to create the schema for users and roles.The database does not show up in ASP.NET SQL Server Setup Wizard or in Management StudioThe only databases that do show up are master, model, msdb, and tempdb
Is there anything I can do to fix this or would it be easier for me to just create a new database starting in Management Studio and then connect to it from within Visual Studio?
I use asp.net default membership provider. in my register.aspx page i use a CreateUserWizard to create new user. in this wizard i want to create a custom step in first step to show the user some roles with a checkBox if user check it mean he agree with the roles and can create account.
i create the step and i put the some text and a checkBox in it. the problem is i don't know how to get the value of checkBox and how active the next button in first Step of my wizard.
I have a update panel and Update progress inside an Wizard control's Wizard Step.
But the update progress is not shown when i click on the 'Finish' (in which the ajax controls are placed) button inside the Wizard step
Note : I am using the FinishNavigationTemplate to define the 'Finish button and OnClick Event of the Button, i am setting the Updateprogress control location using DomElement
I have created a custom control that implements Templates (based on Panel controls) ... I can do a FindControl to locate imbedded controls. This allows me to get and set values in the imbedded controls, but I want to be able to reference the imbedded controls like they are properties of the associated panel. Here is a sample of how my custom control now works:
I can do the following (where my custom control has given the panel hosting the template the name "myPanel"): Dim txt As TextBox = myCustomControl.myPanel.FindControl("myTextBox") txt.Text = "Some text to put in TextBox"
What I want to do is:
myCustomControl.myPanel.myTextBox.Text = "Some text to put in TextBox"
I am writing a custom control and implementing ITemplate in it. The code that I am using can be reviewed at the following link: http://msdn.microsoft.com/en-us/library/ms178657.aspx
Under the Template field, I would only like to allow controls of specific type only, say LinkButton and TextBox. If any control(s) present inside Template is anything except LinkButton or TextBox, an error should be thrown. I am wondering how can I check it programmatically inside custom control. The problem is that there is no collection available that lists all the controls that of Template (or may be I am not aware of it.)
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.
I am using a wizard with 2 steps: Step 1: I enter some values in few textboxes, which in turn are stored in some hidden variables Step 2: There are some more textboxes including the texboxes in step 1 Example: in step 1 there are two textboxes Customer Name & Email ID In step 2 there are two more texboxes Customer Name, Email ID, Company Name and Age Now the values in step 1 are stored in 2 hidden variables lblCustomerName and lblEmailId respectively. Now how do I automatically populate these two fields which are already entered in step 1, in the textboxes present in step 2, is my question?