Vb.net - Add Dynamic User Controls BASED ON ViewState - BUT Before LoadViewState Phase
Jan 27, 2011
Setup:
My page has a drop down whose values are dynamically populated. Based on which item is selected, a number of TextBoxes are dynamically created during runtime.The user then fills in information into the textboxes and clicks a submit button.
Problem:
After postback from the submit button, I need to again dynamically create the TextBoxes during Page_Init (BEFORE LoadViewState) so that after the ViewState loads, my Button_Click event can save/do whatever with the user input. PROBLEM is, I cannot recreate the textboxes based on the selection in the dropdown, because the dropdown hasn't been "selected" yet by LoadViewState.
SO, how can I read from the view state, create my textboxes, then let the viewstate populate the textboxes, and then the Button_Click will use the values??
The one thing I've attempted is to override the LoadViewState function so that I can read from the view state, create the boxes, and then load the viewstate again. This did NOT work, because the debugger never seemed to hit my overridden function.
[code]....
View 1 Replies
Similar Messages:
Oct 13, 2010
I am familiar with creating and persisting dynamic controls on the first load of a page and on subsequent postbacks but I am having trouble with the following user initiated scenario...
In my demo I have a placeholder, two buttons and a literal
[code]....
View 1 Replies
Jan 12, 2011
I have two text boxes for the user to enter UserName & First Name, both these fields are optional and not mandatory to fill.
once the user presses the Search button, i execute the following query to fetch matching records.
[Code]....
The problem is, in cases where User leaves both the textbox or one of the textbox empty/blank, in that case that particular field should be removed from where clause.
More like if something is entered then search for that particular record otherwise search for all the records.
View 2 Replies
Jul 23, 2010
I have created a button(x) dynamically,and in that button click event I am creating a textbox and one more button(y) with that button(x) is making as invisible. if I click button(y) I want to read the value of textbox(textbox.text) and make button(x) as visible.
View 12 Replies
Sep 14, 2010
I have a question about retrieving the values from dynamic created controls. I'am using an wizard witch collects it data based on the steps in the wizard. At a certain wizard step i generate dropdownlists and textboxes depending on some records from a database. At this point no problem, the controls are created perfect. When i press the next button on the wizard i read out the eventarg e.currentstepindex, iterate throug the gridview witch is displaying the controls and try to find the control with "findcontrol" function.
The controls are "nothing" and i cant access them. THe source code of the page lets me show that the controls are there and that they have the assigned ID's.I investigated on google what the problem could be. I has to do with the viewstate and i have to regenerate the controls on page_load.
View 5 Replies
Jan 25, 2011
i am creating dynamic textbox onRowCreated event in gridview control, however when i try to findcontrol i get null
here is how i am dong...
protected void gvORg_RowCreated(object sender, GridViewRowEventArgs e)
{
if ((e.Row.RowState == (DataControlRowState.Edit | DataControlRowState.Alternate)) || (e.Row.RowState == DataControlRowState.Edit))
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
txBox txtReg = new TextBox();.....
View 2 Replies
Apr 22, 2010
I am creating a gridview dynamically in a custom control and adding it to a Panel. I set the EnableViewState = true. The problem is that on a page postback the GridView does not seem to retain its values. If I add a GridView through the UI then the viewstate is preserved. The problem seems to occur when it is put dynamically only.
View 2 Replies
Oct 15, 2010
I have a set of dynamically-created (IE: by code) controls on my web page. Depending on which options the user decides to go (Edit/New), those controls are re-created with the appropriate information (IE: "with values" with Edit, "without values" with New).
Here's the situation:
- I create my controls in InitComplete when it comes to save the data (both on Edit/New) contained within the controls.
- I create my controls in PreLoad when it comes to load them initially (Both on Edit/New) in order to avoid the ViewState to kick in.
However, despite creating the controls after the ViewState has been applied (technically), the controls still somehow retain the pre-postback's information. IE: if I have options 2 and 4 selected and I choose "New", which should show the options without being selected, they remain selected no matter what. And this is true despite changing their values in the PreLoad state. From my understanding, creating a control in this fashion and at that point in the page lifecycle should override any values the ViewState might have had for those controls. I have also tried to disable the parent's control viewstate (Table.EnableViewState = false) again, to no avail.
I've tried using the Me.ViewState.clear() and Me.ClearChildViewSate prior to loading the initial values as well, but again all for naught. I do understand that any control created after the Init phase of the lifecycle has to play "catchup" with the current state, however I would expect that clearing the ViewState prior to creating the controls would fix this issue. It doesn't seem to.
View 1 Replies
Apr 7, 2010
In a project of mine I dynamically create controls and add them to the nodes of a radtreeview (a control by telerik) in theLoadViewState event. By the end of this event everything seems fine, but as soon as the
Page_Load event fires the controls have disappeared. No code of mine is executed during this phase.
I'd love to know why this is the case,
View 7 Replies
Jan 13, 2010
My datasource is an ado data table that I have convert to a new data table so that each row in the original table is now a column with 1 row in my new table. I then bind the new datatable and create dynamic template fields with a text box where I bind the values. My problem is, when I try and retrieve the values changed by the user in the rowcommand event, the template columns no longer exists.
Does anyone know how i can retrieve these values? I've read over and over that you have to rebind the grid on each postback when you use dynamic templates, but I'm not sure how to do that and retrieve the values entered in the text boxes on the client side.
[Code]....
View 1 Replies
Oct 11, 2010
Is there a way to simulate load on a site in the development/testing phase?
View 1 Replies
Dec 29, 2010
I've got a listview on a control. Each row comprises a checkbox and another listview.
The outer listview is bound to a property on the control (via a method call, can't set a property as a SelectMethod on an ObjectDataSource it would appear) which is lazy loaded suchly:
[Code]....
The reason for the use of viewstate is this:
When an one of the checkboxes on one of the outer list view rows is checked or unchecked I want to modify the object that the ODS represents (for example I'll add a couple of Charge objects to the relevant Product object) and then rebind.
The problem I'm getting is that after every postback (specifically after checking or unchecking one of the rows' checkbox) my viewstate is empty. Thiss means that any changes I make to my viewstate'd object is lost.
Now, I've worked out (after much googling and reading, amongst many others, Scott Mitchel's excellent bit on ViewState) that during initial databinding IsTrackingViewState is set to false. That means, I think, that assigning the return from GetWebServiceProductLineChargeDetails() to the ViewState item in my Property Get during the initial databind won't work.
Mind you, even when the IsTrackingViewState is true and I call the Property Get, come the next postback, the viewstate is empty.
how I keep the object referenced by the ObjectDataSource in ViewState between postbacks and update it and get those changes to stay in ViewState?
View 1 Replies
Aug 19, 2010
My asp.net application has a function that returns the HTML for the navigation menu for the user by getting it from a database
currently, I am storing the text in a session variable when the session begins and then use it to set the innerHtml of the navigation div on the on_load method.
The problem is that the pages now contain the
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPD..
with the value being 7000 characters long.
Is there any better way to do this or a different way to store and retrieve values without them being stored in the viewstate ?
The code is just this:
Session["menuHTML"] = (new NavMenu().GetMenuHTML());
navMenuDiv.InnerHtml = Session["menuHTML"].ToString();
The div is declared as
<div id="navMenuDiv" class="navMenuDiv" runat="server"></div>
View 2 Replies
Jun 6, 2013
I have table called ROLE with fields (id,name,permission) example values (1001,madhu,hr)
I have another table called LOGIN with fields(id,DOB,password) example values(1001,24101989,madhukumar)
What i want is , if i login using the LOGIN table ,it check the id and permission in the ROLE table , if the permission is 'hr' it enable to access the menu , or if the permission is any other it just print the error message ("no permission")
Note: menu is placed in master page , but login is not in the master page ...
View 1 Replies
May 7, 2015
I have LOGIN PANEL for student, and I want to disable it in different page. And only the admin can enable and disable it. I dont know the logic behind here.
View 1 Replies
Apr 27, 2016
I want to upload audio file based on the ID which i choose
For ex: I have three ID's in drop downlist, say
ID #1: 1001
ID #2: 1002
ID #3: 1003
I want to upload audio file for 1001. Later, On the same id i may upload another file also.
Then, If i choose 1001, the list of files that has been uploaded on 1001 sholud be displayed with download option in Gridview.
For SQL SERVER 2008.
View 1 Replies
Nov 18, 2010
I need to generate gridview based on table value... let us consider i have in my aspx page one dropdownlist in which i have binded somevalefor example: dropdownlist contain:- Item1 based on Item1 i have three table first table conists A,B,C,D value. Second Table consist 1,2,3,4,5 Third Table consist (0.5,0.6,0.7) for 1, (0.7,1.0) for 2, (0.6) for 3, (0.8) for 4, and another(0.8) for 5 based on this three table i need to show girdview like this which is below If its Item2 dropdownlist then row and column of girdview will be any number based on first,second,third table value for Item2like this if Item3 dropdownlist then row and column of girdview will be any number based on first,second,third table value for Item3.help me to achieve dynamic rows and column based on database value... in asp.net C#....
View 14 Replies
Nov 8, 2010
I had successfully created a functionality where I can dynamically add rows and columns to a asp table by creating/re-creating controls on every page load.
I have 2 buttons - Add rows and Add columns that, basically according to a asp.,net page life cycle, occur in the following order and work perfectly fine.
Page load is fired and controls along with their viewstate are recreated. In Add row button click event - I just create a new table row and add controls to each cell dynamically.
Same thing with Add column, Delete Row and Delete Column button click events.
However, now I added a Dropdown which when its index is changed needs to retrieve values from the database and create controls based on those values and then also bind the Db values.
But it doesn't work correctly since the asp.net page cycle cannot capture the dropdown's selected value in page_load as the page_load fired first and then the selectedindexchanged event is fired later, the controls are not created.
I don't know how to handle this scenario and incorporate it into my existing code.
View 3 Replies
Jan 10, 2011
I have an asp.net web form, and on it I have two controls (well, more than these two but we'll focus on these) - the first is an asp:dropdownlist and the second is an asp:table.
Both of these controls are declared on the HTML side, and filled (child controls added) in the code-behind page.
My simple question (hopefully with a simple answer) is this:
Why does the viewstate persist for the dropdownlist, and NOT for the table?
I have to fill the table on every page load, but I can fill the dropdownlist once (using Not Page.IsPostBack), and it persists.
NOTE: I have read about the lifecycle of ASP.NET pages, and I have tried placing these same calls in the Init() and PreInit() page events with the same results.
View 3 Replies
Apr 24, 2010
I have ONE <asp:Button ID="btnAddUC" runat="server" ......./> and ONE <asp:Table ID="tblUC" runat="server"...> on my page. User clicks on btnAddUC, user control is added to the page [user can add 'n' user controls to the page]. here I have no problem, adding user controls to the page on user clicks.
My user control has ONE <asp:DropDownList ID="ddlItems" runat="server" ......./> and ONE <asp:CheckBoxList ID="chkItems" runat="server"..../>. I am exposing "ddlItems" by public method, "chkItems" is not exposed. "chkItems" is binded on SelectedIndexChanged event of "ddlItems".
Execution scenario:
User adds user control to the page, select item from the "ddlItems" ( Note: "ddlItems" is exposed by public property ) , "chkItems" is populated ( using ddlItems.SelectedItem.Value ) . User checks some checkboxes in "chkItems" and then decide to add one more user control. When the second user control is added to the page, checkboxes in the first usercontrol lose their state and apeears unchecked (NOTE: user checked some checkboxes and then added another user control).
I want to put checked beckboxes index in session ( Before another control is added, which event I should use, because at LOAD event there is nothing).
I was able to restict SelectedIndexChanged event to only that user control whcih generated it (checking _EVENTTARGET)
View 9 Replies
Jun 28, 2010
As a workaround for the fact that asp:Checkboxes don't have values, I am attempting to dynamically create the ID's of checkboxes in a DataList so that it inserts the primary keys into the control ID. This is surprisingly difficult.
I have placed a PlaceHolder in my DataList ItemTemplate, then in the ItemCreated I create the checkboxes using string.Format("Checkbox{0}", DataBinder(e.Item.DataItem, "ID")). The problem is that this only works in a non-postback condition, as on postback the DataItem is null. And of course ItemDataBound isn't called on PostBack so that won't work either.
I can't seem to find a good way to handle this short of if (IsPostback) dataList.Bind(), which i don't think is a good way to do it.
Can anyone provide me with any alternatives here?
View 1 Replies
Aug 16, 2010
I cretated my own server control (a dropdownlist) and thus my own LoadViewState and SaveViewState methods. When is the LoadViewState called? I added the control to my page and looked when the methods are called. Only the SaveViewState is called when the page is requested, LoadViewState is not. Do I have to call it manually?
View 2 Replies
May 28, 2010
I'm new to web dev and c# so please bare with me. I am trying to create a dynamic gridview in a web form for users to to answer questions with (code below).
The dificulty im having is that i am nesting a dropdwonlist in the gridview and want to be able to dynamically set the list values based on parameters (of the row they are on). These values are in the main dataset for the gridview as each row represents a questionid and question text and then a ddl for the criteria...
I just don't know how to set the values for the dropdown all the code so far is below... just need to be able to populate the dropdowns with the relevant values.
I have created a stored proc to return the different criteria based on the questionid and questionGroupid which is the dataset that populates the other fields in the gridview: dbo.usp_QuestionCriteria @QuestionGroupId, @QuestionId
I have added this as a tableadapter called criteriaTableAdapter in a xsd file as well using the wizard... not sure if this is the right option though or just use the same method as i have for the other stored procedure as in the code below:
[CODE
]using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["Sql"].ConnectionString);
con.Open();
SqlCommand com = new SqlCommand("usp_QuestionGroupDS", con);
com.CommandType = CommandType.StoredProcedure;
SqlDataAdapter ada = new SqlDataAdapter(com);
DataSet ds = new DataSet();
ada.Fill(ds);
for (int i = 0; i < ds.Tables.Count; i++)
{
if (ds.Tables[i].Rows.Count > 0)
{
GridView gvDynamicQuestion = new GridView();
gvDynamicQuestion.Width = Unit.Pixel(700);
gvDynamicQuestion.BorderWidth = Unit.Pixel(0);
gvDynamicQuestion.Caption = "<div id="nifty" class="QuestionGroup"> <b class="rtop"><b class="r1"></b><b class="r2"></b><b class="r3"></b><b class="r4"></b></b>" + ds.Tables[i].Rows[0]["Category"].ToString() + " Questions<b class="rbottom"><b
class="r4"></b><b class="r3"></b><b class="r2"></b><b class="r1"></b></b></div>";
gvDynamicQuestion.AutoGenerateColumns = false;
gvDynamicQuestion.ShowFooter = true;
TemplateField tf = null;
tf = new TemplateField();
tf.HeaderTemplate = new DynamicGridViewTextTemplate("QuestionId", DataControlRowType.Header);
tf.ItemTemplate = new DynamicGridViewTextTemplate("QuestionId", DataControlRowType.DataRow);
tf.FooterTemplate = new DynamicGridViewTextTemplate(DataControlRowType.Footer, ds.Tables[i].Rows.Count);
gvDynamicQuestion.Columns.Add(tf);
tf = new TemplateField();
tf.HeaderTemplate = new DynamicGridViewTextTemplate("Question", DataControlRowType.Header);
tf.ItemTemplate = new DynamicGridViewTextTemplate("Question", DataControlRowType.DataRow);
gvDynamicQuestion.Columns.Add(tf);
tf = new TemplateField();
tf.HeaderText = "Criteria";
tf.HeaderTemplate = new DynamicGridViewTextTemplate("Criteria", DataControlRowType.Header);
tf.ItemTemplate = new DynamicGridViewDDLTemplate();
gvDynamicQuestion.Columns.Add(tf);
////tf = new TemplateField();
////tf.HeaderText = "Criteria";
////tf.ItemTemplate = new DynamicGridViewDDLTemplate();
////gvDynamicQuestion.Columns.Add(tf);
gvDynamicQuestion.DataSource = ds.Tables[i];
gvDynamicQuestion.DataBind();
phDynamicGridHolder.Controls.Add(gvDynamicQuestion);
}
}
}
protected void DynamicGrid_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.Footer)
{
//
}
}
}
public class DynamicGridViewTextTemplate : ITemplate
{
string _ColName;
DataControlRowType _rowType;
int _Count;
public DynamicGridViewTextTemplate(string ColName, DataControlRowType RowType)
{
_ColName = ColName;
_rowType = RowType;
}
public DynamicGridViewTextTemplate(DataControlRowType RowType, int QuestionCount)
{
_rowType = RowType;
_Count = QuestionCount;
}
public void InstantiateIn(System.Web.UI.Control container)
{
switch (_rowType)
{
case DataControlRowType.Header:
Literal lc = new Literal();
lc.Text = "<b>" + _ColName + "</b>";
container.Controls.Add(lc);
break;
case DataControlRowType.DataRow:
Label lbl = new Label();
lbl.DataBinding += new EventHandler(this.lbl_DataBind);
container.Controls.Add(lbl);
break;
case DataControlRowType.Footer:
Literal flc = new Literal();
flc.Text = "<b>Total No of Questions:" + _Count + "</b>";
container.Controls.Add(flc);
break;
default:
break;
}
}
private void lbl_DataBind(Object sender, EventArgs e)
{
Label lbl = (Label)sender;
GridViewRow row = (GridViewRow)lbl.NamingContainer;
lbl.Text =DataBinder.Eval(row.DataItem, _ColName).ToString();
}
}
public class DynamicGridViewDDLTemplate : ITemplate
{
// Implementation of ITemplate
public void InstantiateIn(System.Web.UI.Control container)
{
// Create a DDL
DropDownList ddl = new DropDownList();
//Attach method to delegate
ddl.DataBinding += new System.EventHandler(this.ddl_DataBind);
container.Controls.Add(ddl);
}
//Method that responds to the DataBinding event
private void ddl_DataBind(object sender, System.EventArgs e)
{
//DropDownList ddl = (DropDownList)sender;
//DataGridItem container = (DataGridItem)ddl.NamingContainer;
//ddl.Data.Checked = [Data binding expression];
}
}
[/CODE]
View 7 Replies
Feb 3, 2010
can i get a value of a selected radio button in LoadViewState event of the the WebControl and how? All the components are generated in codebehind, so i have those controls:
RadioButtonList rbl;
ListItem liOne;
ListItem liTwo;
at the moment i am stuck at that the overriden LoadViewState is not being invoked
protected override void LoadViewState(object o)
{
action = rbl.SelectedValue;
action2 = rbl.SelectedItem.Value;
base.LoadViewState(o);
}
View 1 Replies
Sep 7, 2010
I can't understand why the method LoadViewState() is not called after the postback in my code below.After label1 cahnges its text the "__VIEWSTATE" hidden field is modified, but LoadViewState() is not called.
[Code]....
View 3 Replies