i have a page where i have a search area for users and a blank table. When a user performs a searcg,im creating in the cs the rows for the table and adding in the cells textboxes with values from DB. The textboxes ID´s are also being retrieved from the DB. Then, the user can change values from the textboxes. I also have an asp button that´s supposed to save the changes BUT i cant manage to persist the ids and last values between postback. Ive tried something ClientScript.RegisterArrayDeclaration but the array comes up empty. Then i used a hiddenfield but does the same trick.
what am i doing wrong?I add the hiddenfield,i try to add all the controls ids to an array but seems impossible,and there is no way i am getting the last values in another array. Im loosing everything between postbacks, but if i manage to save these ids and values, ill re-make the table in a sec.
I'm wanting to adjust this code to pull the theme name from a database table, instead of just manually assigning a theme in the file. This way a site administrator can set the theme dynamically. If never done this with a global.asax file, so I'm not sure what the best way is to accomplish it?
Here's the code that needs tweaked:
[Code]....
The database table could be "ThemeName" with rows ID & Theme. If performing this in the global.asax file will cause any big performance issues.
I have a generic handler in which I fill up a Session variable. I implemented the IRequiresSessionState interface, so it shouldn't be a problem.
In a given page, I want to display that value, but it seems like the value is always empty. Is it because the session that is accessed and written to in the handler isn't the same one that is used on this page?
In the handler, I used context.Session["EID"] = "somevalue";
edit: i found out what the issue is but I do not know how to solve it. It's because I have this Java applet which reads out an eID, calls the handler to store the data, but the session used by the applet is not the same as the session used by the browser... so how could I exchange this data in a safe way?
I am in need of some assistance in regards to how to best set the values of properties for a Web User Control which is being included into a cell of a GridView with dynamically created columns. I have tried a few different approaches, but can't seem to get a satisfactory result. Also, to be completely honest, I am not really sure if I am using best practices for what I am trying to accomplish.
First off a little background:I have a GridView for which we will never know the exact number of columns at run time. The columns are predicated by user selection. I am creating the command text for the DataSet on the fly and then looping through the columns of the resulting DataTable in order to use custom TemplateFields. This works ok for just printing out the row values but not so much for when I need to insert the Web User Control into a cell.The Web User Control is in essence a collection of image links which are used as a "Quick Nav" tool. I need to pass the values of 2 fields from each DataRow to the control via properties (for example, CustID and ProductID). I am using custom TemplateField classes inheriting from ITemplate for displaying my fields and extending the DataBinding event like so: [Code]....
This won't work for my User Control as DataBinding is called after the control is loaded into the page and I need the properties to be set before the Page_Load event of the control is fired.Is there a GridView event I should be looking into instead such as RowCreated or RowDataBound? Or should I modify how I loop through the DataTable by doing rows first, then the resulting columns as I've seen done elsewhere?
Background: I open a page that has a detailsview control using Accessdatasource. It is automatically opened with the row I want to update as I get there by passing the key as a URL parm. The update works for all fields except 2 template fields I added. I added a field for update date and updated by which I want the code to populate in the code behind so the user does not enter it. I have the same login on another page using an insert and it works fine. I cannot figure out what is wrong on the update and I tried everything. The code behind is in the OnItemUPdating event. code behind:
and right below that i have 1 condition to check for and then set the Text value of the 2 labels.hireMess.Text = "It Was Successfully!";hireEnd.Text ="You will be re-directed to your Pool in 10 seconds.";I compared the page to production and eveyrthing is the same and production doesnt have any issues.. not sure why its coming up null.The error comes up for the first label:Object reference not set to an instance of an object. Description:An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.Exception Details: System.NullReferenceException: Object reference not set to an instance of an object.Source Error:
I have a gridview which I use to add items through the footer and the EmptyDataTemplate. There is a date field. I want to set the default of it to the current system date.
Lets say I have a Web Application with a menu of products. When a user clicks a menu item, then create and display a dynamic set of controls in an Update Panel. I am currently doing this however the PostBack and recreation of controls is tedious and resource intensive.
Not sure about this but is it possible to build a webpage with controls on it, then display it in update panel or IFrame? Then on post back you wouldn't have to recreate everything all over again?
I have a self-made webuser control named UCLabeltextBox with 1 label and 1 textbox. When pressing the save button the page is refreshed and the value of the textbox is erased. Anyone a solution to this? Here's my code:
i have a Method which create textboxes dynamicly. When i change one of my textbox's text, it create that amount textbox and label. But my problem is, when i entered values to them and click my button, they are disappearing and i cant find my controls. Some of my codes
There is a small advancement in my app, developing using ASP.Net and C# on fx4.0. Requirement is that my client needs dynamic paging size. He wants to set page size of all gridviews approx 10-15 , as needed. If he wants 5 then my app will display 5 and if he sets 10 then the app will display 10.
I'm guessing this is actually an impossible task, but I thought I'd run it by StackOverflow to see if I'm wrong. Basically we have some dynamically created URLs for SEO purposes (around 300,000+ of them) and we want to do 301 redirects to them.
Google still has a load of the old URLs indexed, but we obviously want them to know that they should be replaced with our newer ones (and that it's not just duplicate content), hence the 301 redirects.
Our problem is that the <Brand> and <Product Name> parts of the new URLs are obviously dynamically created... making it impossible to create 301 redirects for them.
I work with dynamic webuser controls. Depending on a choice in a dropdownlist, I load the webuser controls from my database. In the Page_Load event, I load the controls. When the controls are loaded and a button is pressed, the values that are filled in,in the webuser controls' textboxes, must be saved in the database. when I click the button, the values of the textboxes are empty again. Here's my code:
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.
I have a gridview which is having coloumns Company name, Industry type, country, employees, revenue. i want to add dropdown at the top of each coloumn so that if user select industry as agriculture, all agriculture industry rows may be sorted, and same for other dropdown also.. i it may be possible,
<asp:Repeater ID="Repeater1" runat="server"> <HeaderTemplate> <tr bgcolor="maroon"> <th> Subject Id  </th> <th>                           Subject Name  </th> <th> Obtained Marks </th> </tr> </HeaderTemplate> <ItemTemplate>
[Code] .....Â
c# - code behind
protected void Page_Load(object sender, EventArgs e)Â { if (!IsPostBack) { this.PopulateRepeater();Â Â Â Â Â }Â }Â private void PopulateRepeater()Â {Â
[Code] .....
Current repeater looks as...
Subject_Id             Subject_Name          Marks
s1(lable) Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â subject1(lable) Â Â Â Â Â Â Â 56(textbox)
> Now, I want to make Updation with repeater (in same application).
I want to update Marks(into textboxes only, sub_id and name fatched from database dynamically) in each row of repeater.... how is it possible ??
So my dropdown will be populated with a list of years that could be different depending on the SchoolID passed in. I want my default value to be the max returned in the SELECT query minus 5 (so in other words, the max index minus 5). For example, if my list of years was:
I am dealing with dynamic fields in a for loop and now I need to retrieve the values that are being typed in the dynamic fields, any idea how can I do that? 2)also when I click the submit button, upon postback, the dynamic fields have gone missing, have been trying to slove that, but i did not, anyone knows how to deal with this? kinda urgent :x
3) and How do you compare the 2 dynamic fields? For eg: Im comparing the tbSch[i] to tbSch[i], so that the dates cannot be the same, am using a compare validator, but it throws me error that im comparing the same fields :) even though i change to ("tbSch" + i) for both, sorry Will provide my code snippet as follow :D tbNum is a textbox where user enter numbers and click generate
protected void btnGen_Click(object sender, EventArgs e) { for (int i = 0; i < Convert.ToInt32(tbNum.Text); i++) { // label and textbox needed Label lblSch = new Label(); TextBox tbSch = new TextBox(); Label lblWsGrp = new Label(); DropDownList ddlWsGrp = new DropDownList(); CompareValidator cvSame = new CompareValidator(); cvSame.ID = "cvSame" + i; cvSame.ErrorMessage = "Date cannot be the same"; cvSame.Operator = ValidationCompareOperator.NotEqual; cvSame.Type = ValidationDataType.Date; cvSame.Display = ValidatorDisplay.Dynamic; cvSame.EnableViewState = true; cvSame.ControlToValidate = (tbSch.ID);<<<<< what should be the value in here? cvSame.ControlToCompare = (tbSch.ID);<<<<<<<<<< and here? //schdule date lblSch.ID = "lblSch" + i; lblSch.Text = "Session Date : "; lblSch.EnableViewState = true; tbSch.ID = "tbSch" + i; tbSch.Width = 210; tbSch.Height = 27; tbSch.EnableViewState = true; //workshop grp lblWsGrp.ID = "lblwsgrp" + i; lblWsGrp.Text = "Workshop Group : "; lblWsGrp.EnableViewState = true; ddlWsGrp.ID = "ddlWsGrp" + i; ddlWsGrp.Height = 27; ddlWsGrp.Width = 210; ddlWsGrp.EnableViewState = true; ddlWsGrp.Items.Add("1"); ddlWsGrp.Items.Add("2"); //table to store data TableRow trow = new TableRow(); TableRow trow2 = new TableRow(); //row1 TableCell tc1 = new TableCell(); TableCell tc2 = new TableCell(); TableCell tc3 = new TableCell(); TableCell tc4 = new TableCell(); //row2 TableCell tc5 = new TableCell(); TableCell tc6 = new TableCell(); TableCell tc7 = new TableCell(); TableCell tc8 = new TableCell(); TableCelltc9 = new TableCell(); tc1.Controls.Add(lblSch); tc2.Controls.Add(tbSch); tc3.Controls.Add(lblWsGrp); tc4.Controls.Add(ddlWsGrp); tc5.Controls.Add(space); tc6.Controls.Add(CeSess); tc7.Controls.Add(space); tc8.Controls.Add(space); tc9.Controls.Add(cvSame) trow.Cells.Add(tc1); trow.Cells.Add(tc2); trow.Cells.Add(tc3); trow.Cells.Add(tc4); trow2.Cells.Add(tc5); trow2.Cells.Add(tc6); trow2.Cells.Add(tc7); trow2.Cells.Add(tc8); trow2.Cells.Add(t9); this.table3.Rows.Add(trow); this.table3.Rows.Add(trow2); } }
I have a page that is currently generating dynamically created textboxes in a table format. The users are requesting that the tab order be changed from horizontal-vertical to vertical-horizontal. I know that you can use the tabindex attribute to control the tab ordering, but I can't for the life of me figure out the right way to get the sequential number properly for the textboxes. I guess this is more of a math question than anything else!
FYI, the textboxes are made while looping two different collections. First collection looped to make the rows, for each row, second collection (which is a property of the first collection objects) is looped to create the columns.
I have a user control (i.e. ascx) that comprises of two related list boxes (i.e. once you change the selected item in one list the contents of the other list update). I'm adding this user control dynamically to a page on the click event of a button (i.e. using LoadControl).I wish to set the list box datasource properties, as well as the default selected item of the parent list from my parent page so I created public properties in my user control to accomodate this. I also created an event in my user control that notifes the parent page when the selected item changes in one of the list boxes so I can update the contents of the other list box.
I understand that I have to recreate the user control on every postback in order for it to function correctly but I'm not sure exactly how I should be doing it. I've shown below what I have currently - whilst it works the problem is that on postback I'm always creating the user control with all its default properties and then updating the properties that need to change(?). For example, when the choice in theparent list box changes the datasource of the list box is set twice (once in AddControl and then again in OnParentChanged)? As the contents of the list boxes originate in a database it means I'm making unnecessary calls to the database (unless I do some something like store each unique set of data in the ViewState).
I'd be very grateful if someone could review how I've done things and illustrate how perhaps I should be doing things. I'm not sure if the way I've done this is considered the 'correct' way. For example there may be a better way of doing things would avoid setting the properties twice? I'm a bit unsure of the way I've set the datasource properties of the list boxes and bound them. I wished to set the datasource from the parent page because I might have a second user control on my page that may also use the same datasource and I could reuse it (as opposed to each control making its own call to the database) so I'd like to keep this feature if possible.It would be great if posting code in reply that you use my example as a guide so I know what you're referring to.Here's the code for my user control:
how to load Gridview HeaderText values from resource (.resx) files.I want to display headertext values for Gridview based on two different application dynamically.
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]; } }