2011-12-07 27 views
0

我有一個按鈕來克隆一個文本框,它允許用戶輸入過儲值背後

jQuery的

function generateRow() { 
if (totalans == 9) { 
    $('#<%= label2.ClientID %>').html('<b>Maximum of 10 answers per questions reached</b>'); 
} 
else { 
    totalans = totalans + 1; // same as totalans++; 
    $("#ans").clone().attr({id: "ans_clone_" + totalans, name: "ans_clone_" + totalans}).prependTo("#ans2"); 
    // then you can loop through each input using the totalans variable. 
} 

現在,我對如何不知道在代碼隱藏c#中檢索這些文本框。 因爲我想將它存儲在數據庫中。

我已得到別人一些幫助,在這裏,但它仍然不可能幫助我。

即時通訊使用vs2010,DotNet。

+0

我希望類似totalans ++的評論不存在於任何實際使用的代碼中。這是最差的一種意見 - 大家誰知道**知道語言**什麼的某行代碼呢,所以從來沒有解釋什麼特定的代碼行做什麼,但它的使用(和只有當它是非常重要的) – ThiefMaster

回答

0

添加HiddenField服務器控件到頁面,並用它來存儲動態添加文本框的數量。然後,在後背部解析它的價值,並獲取動態添加文本框值從Request.Params集合:

function addAnswer() { 
    var hfAnswers = $("#<%= hfDynamicAnswers.ClientID %>"); 
    var answers = parseInt(hfAnswers.val()) + 1; 
    hfAnswers.val(answers); 

    $("#<%= tbAnswer.ClientID %>").clone().attr({ name: "ans_clone_" + answers, id: "ans_clone_" + answers }).appendTo("#answersContainer"); 
} 

<asp:HiddenField runat="server" ID="hfDynamicAnswers" Value="0" /> 
<div id="answersContainer"> 
    <asp:TextBox runat="server" ID="tbAnswer" /> 
    <input type="button" value="Add Answer" onclick="addAnswer()" /> 
</div> 
<asp:Button runat="server" ID="btnSubmit" Text="Submit" OnClick="btnSubmit_Click" /> 

代碼隱藏:

protected void btnSubmit_Click(object sender, EventArgs e) 
{ 
    var answers = int.Parse(hfDynamicAnswers.Value); 
    for (int i = 1; i <= answers; i++) 
    { 
     var answer = Request.Params["ans_clone_" + i.ToString()]; 
    } 
} 
0

ASP.NET應自動序列化,當你發佈你所有控件他們回來。只要確保他們有獨特的ID。

Request.Form["ans_clone_" + i]