How to hold a table of data for user edition (before saving in the the database)?

Web Technologies Web Development 2 years ago

0 1 0 0 0 tuteeHUB earn credit +10 pts

5 Star Rating 1 Rating
_x000D_ _x000D_ I've been using this programming style, that I've seen in an example and just started using it, because it does the job... I would like to know other programmers' opinion about it... So the situation is when you have a GridView, or a control based on it like the RadGrid, and you want to keep track of a data table while you are adding, editing, reordering and deleting rows. Using the session to hold the data table (or list of data) may not be the best solution, because the user may open two identical web pages… Using the ViewState to hold the data may be and option... I have been using an approach like the following: public partial class DefaultPage : System.Web.UI.Page { protected DataLine DefaultDataLine() { DataLine dl = new DataLine(); dl = new DataLine(); dl.Number = 0; dl.Title = ""; dl.Text = ""; return dl; } protected class DataLine { public int Number { get; set; } public string Title { get; set; } public string Text { get; set; } } protected static List tempLines; protected void Page_Load(object sender, EventArgs e) { if (!this.IsPostBack) { tempLines = RadGridBindStartUpData(); } } protected void RadGrid1_NeedDataSource(object source, Telerik.Web.UI.GridNeedDataSourceEventArgs e) { RadGrid1.DataSource = tempLines; } protected void RadGrid1_InsertCommand(object source, Telerik.Web.UI.GridCommandEventArgs e) { GridEditableItem editedItem = e.Item as GridEditableItem; List table = tempLines; DataLine newRow = new DataLine (); RadTextBox rtb; rtb = (RadTextBox)editedItem.FindControl("RadTextBoxTitle"); newRow.Title = rtb.Text; rtb = (RadTextBox)editedItem.FindControl("RadTextBoxDescription"); newRow.Description = rtb.Text; RadNumericTextBox number = (RadNumericTextBox)editedItem.FindControl("RadNumericTextBoxNumber"); newRow.Number = number.Value.HasValue ? Convert.ToInt32(number.Value.Value) : 0; table.Add(newRow); } // ... So using a static List variable, of a custom object (class), declared in the code-behind of the Aspx page, and updating it whenever the data is edited. What are your thoughts about this approach? Is it okay? How do you hold your table-format data for edition (prior to saving it in the database)?

Posted on 16 Aug 2022, this text provides information on Web Development related to Web Technologies. Please note that while accuracy is prioritized, the data presented might not be entirely correct or up-to-date. This information is offered for general knowledge and informational purposes only, and should not be considered as a substitute for professional advice.

Take Quiz To Earn Credits!

Turn Your Knowledge into Earnings.

tuteehub_quiz

Answers (1)

Post Answer
profilepic.png
manpreet Tuteehub forum best answer Best Answer 2 years ago
_x000D_ Not exactly sure what you're going for, but using a static variable is probably not what you want to do. Static properties are shared across all user/threads, so all concurrent users would be editing the same data. If you are just looking to persist a small data set across post-backs to the same page, use the ViewState instead. Just be mindful of potential performance issues if you plan on cramming lots of data into it.

No matter what stage you're at in your education or career, TuteeHub will help you reach the next level that you're aiming for. Simply,Choose a subject/topic and get started in self-paced practice sessions to improve your knowledge and scores.

Important Web Technologies Links