Note that there are some explanatory texts on larger screens.

plurals
  1. POGet Value From Dynamic Text Box ASP.NET
    primarykey
    data
    text
    <p>I am wondering how I can get the value from an asp.net textbox that is dynamically created inside an asp:datalist. I would like to then insert these values back into the database. </p> <p>Let say we have the following output on the web page from the datalist. (Each Question is a asp:textbox)</p> <pre><code>Question 1 Answer 1 Answer 2 Update Button Question 2 Answer 1 Answer 2 Update Button Question 3 Answer 1 Answer 2 Update Button </code></pre> <p>For example: I would like to get the value from Question 2 textbox and then parse the value to my database insert method. How can this be done as the text boxes are generated dynamically in the data list?</p> <p>I have written the following:</p> <pre><code>&lt;asp:DataList runat="server" id="dgQuestionnaire" DataKeyField="QuestionID" CssClass="confirm"&gt; &lt;ItemTemplate&gt; &lt;h3&gt;Question &lt;asp:Label ID="lblOrder" runat="server" Text='&lt;%# Container.ItemIndex + 1 %&gt;'&gt;&lt;/asp:Label&gt;&lt;/h3&gt; &lt;asp:TextBox runat="server" ID="QuestionName" Text='&lt;%# Eval("QuestionText") %&gt;' CssClass="form"&gt;&lt;/asp:TextBox&gt; &lt;asp:DataList ID="nestedDataList" runat="server"&gt; &lt;ItemTemplate&gt; &lt;asp:TextBox ID="AnswerBox" runat="server" CssClass="form" Text='&lt;%# Eval("AnswerTitle") %&gt;' Width="300px"&gt;&lt;/asp:TextBox&gt; &lt;/ItemTemplate&gt; &lt;/asp:DataList&gt; &lt;asp:Button runat="server" ID="updateName" CssClass="button_update" style="border: 0px;" onClick="UpdateQuestionName_Click" /&gt; &lt;/ItemTemplate&gt; &lt;/asp:DataList&gt; </code></pre> <p>And here the code behind (sorry about the length)</p> <pre><code>protected void UpdateQuestionName_Click(object sender, EventArgs e) { int QuestionnaireId = (int)Session["qID"]; GetData = new OsqarSQL(); // Update question name GetData.InsertQuestions(QuestionName.Text, QuestionnaireId); } // End NewQNRButton_Click public void BindParentDataList(int QuestionnaireID) { _productConn = new SqlConnection(); _productConnectionString += "data source=mssql.myurl.com; Initial Catalog=database_2;User ID=userid;Password=aba123"; _productConn.ConnectionString = _productConnectionString; SqlCommand myCommand = new SqlCommand("GetQuestion", _productConn); myCommand.CommandType = CommandType.StoredProcedure; myCommand.Parameters.Add(new SqlParameter("@QUEST_ID", SqlDbType.Int)); myCommand.Parameters[0].Value = QuestionnaireID; // check the connection state and open it accordingly. _productConn.Open(); // Sql datareader object to read the stream of rows from SQL Server Database SqlDataReader myDataReader = myCommand.ExecuteReader(); // Pass the Sql DataReader object to the DataSource property // of DataList control to render the list of items. dgQuestionnaire.DataSource = myDataReader; dgQuestionnaire.DataBind(); // close the Sql DataReader object myDataReader.Close(); // check the connection state and close it accordingly. if (_productConn.State == ConnectionState.Open) _productConn.Close(); // foreach loop over each item of DataList control foreach (DataListItem Item in dgQuestionnaire.Items) { BindNestedDataList(Item.ItemIndex); } } public void BindNestedDataList(int ItemIndex) { int QuestionID = Convert.ToInt32(dgQuestionnaire.DataKeys[ItemIndex]); SqlCommand myCommand = new SqlCommand("GetAnswer", _productConn); myCommand.CommandType = CommandType.StoredProcedure; myCommand.Parameters.Add("@QUESTION_ID", SqlDbType.Int).Value = QuestionID; // check the connection state and open it accordingly. if (_productConn.State == ConnectionState.Closed) _productConn.Open(); // Sql datareader object to read the stream of rows from SQL Server Database SqlDataReader myDataReader = myCommand.ExecuteReader(); // findControl function to get the nested datalist control DataList nestedDataList = (DataList)dgQuestionnaire.Items[ItemIndex].FindControl("nestedDataList"); nestedDataList.DataSource = myDataReader; nestedDataList.DataBind(); // close the Sql DataReader object myDataReader.Close(); // check the connection state and close it accordingly. if (_productConn.State == ConnectionState.Open) _productConn.Close(); } </code></pre> <p>How can I get the value of a textbox when its corresponding button "updateName" is pressed?</p> <p>Thanks</p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload