我有一个克隆文本框的按钮,允许用户输入
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.
}
现在,我不知道如何在codebehind c#中检索这些文本框。 因为我想将它存储在数据库中。
我得到了一些人的帮助,但它仍然无法帮助我。
for(x=0; x<totalans; x++){ var tVal = $('#ans_clone_' + x).val(); //process }
即时通讯使用vs2010,DotNet。
答案 0 :(得分:0)
将HiddenField
服务器控件添加到页面上,并使用它来存储动态添加的文本框的计数。然后,在post post上解析它的值并从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()];
}
}
答案 1 :(得分:0)
ASP.NET会在您发布回来时自动为您自动序列化所有控件。只要确保他们有独特的ID。
Request.Form["ans_clone_" + i]