Im trying to create a webform that is a representation of a paper questionnaire that has 14 questions with yes/no answers. If an answer is no, then you must provide information as to why in 3 separate textboxes and store the information only when a user clicks no.
I also have 4 drop down lists that are chosen before the user answers the first question that also need to be stored with the textboxes, but the ddl's value does not change after the user starts. Right now I have 3 textboxes and a submit button for each of the 14 questions that are hidden until a user hits a "no" button, in which I change the visible property of all of them and the user then types in their reasons and submits the answer. I am currently doing this for each question and i hide/disable the textboxes and button after submitted.
My problem is that for each event on the 14 submit button's is that I'm forced to open & close an sql connection and insert the values. I know there has to be a way to simply this some so that I dont have 14 different groups of the same code. I would also like a way to eliminate having 40 textboxes on a page lol, because the idea was to have a pop up box or something open that would let the user submit it and then return to the question instead of hiding textboxes, but the user has to see all 14 questions at page load so if you got an answer to that one then that might solve my original question. After finishing a mock up of this I was utterly ashamed to look at my code and knew this couldnt be the only way but I just cant figure it out, any help would be appreciated!
Here is an example of something similar if you have a hard time understanding all that garbage.
Two separate questions, 2 separate answers. Please ignore errors, I am just trying to give a quick example.
Private Sub [B]btnQuestion_One[/B](ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnQuestion_One.Click Command.CommandText = "INSERT into Customers Values @reason1, @reason2, @reason3, @cust_id" Command.Parameters.Add("@reason1", [B]textbox1.text[/B]) Command.Parameters.Add("@reason2", [B]textbox2.text[/B]) Command.Parameters.Add("@reason3", [B]textbox3.text[/B]) Command.Parameters.Add("@cust_id", ddlCustomer.SelectedItem) Conn.Open Command.ExecuteNonQuery Conn.Close textbox1.Visible = False textbox2.Visible =False textbox3.Visible =False 'etc..... End Sub Private Sub [B]btnQuestion_Two[/B](ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnQuestion_Two.Click Command.CommandText = "INSERT into Customers Values @reason1, @reason2, @reason3, @cust_id" Command.Parameters.Add("@reason1", [B]textbox4.text[/B]) Command.Parameters.Add("@reason2", [B]textbox5.text[/B]) Command.Parameters.Add("@reason3", [B]textbox6.text[/B]) Command.Parameters.Add("@cust_id", ddlCustomer.SelectedItem) CN.Open Command.ExecuteNonQuery CN.Close textbox4.Visible = False textbox5.Visible =False textbox6.Visible =False 'etc..... End Sub