如何从 asp.net 中自动生成的多个文本框获取值?

How to get value from auto generated multiple texboxes in asp.net?

我用 jquery 代码创建了自动文本框。但我无法从他们那里得到价值。这是我生成文本框的代码

$('#btn').click(function () {
$(container).append('<tr id="tba' + iCnt + '"> <td class="sol" style="width:326px;">
<b>' + iCnt + '.</b>Dates (from - to)</td><td class="sag">
<input type=text class="input" id=txtdates' + iCnt + ' ' + ' /></td>
</tr>');
}

我可以用这段代码添加文本框。我怎样才能从这些代码中获得价值?

这是我对你的问题的看法:

$('#btn').click(function () {
    var iCnt = 1;
    $('#container').append($('<tr id="tba' + iCnt + '"> <td class="sol" style="width:326px;"><b>' + iCnt + '.</b>Dates (from - to)</td><td class="sag"><input type="text" class="input" id="txtdates' + iCnt + '" ' + ' /></td></tr>'));
});

$('#btnget').click(function () {
    alert($('#container').find('input:text').val());
});

<div id='container'></div>
<input type='button' id='btn' value='submit'/>
<input type='button' id='btnget' value='get value'/>

演示:https://jsfiddle.net/hxq5cj0x/

首先导入这个命名空间

using System.Web.Script.Serialization;

接下来向动态创建的文本框添加一个 属性 名称,如下所示

$('#btn').click(function () {
       $(container).append('<tr id="tba' + iCnt + '"> <td class="sol" style="width:326px;">
            <b>' + iCnt + '.</b>Dates (from - to)</td><td class="sag">
            <input type="text" name="DynamicTextBox" class="input" id="txtdates"' + iCnt + ' ' + ' />
           </td>
           </tr>');
}

在您的服务器方法中,您可以按如下方式访问它

public void Post(object sender, EventArgs e)
{
    string[] textboxValues = Request.Form.GetValues("DynamicTextBox");
    JavaScriptSerializer serializer = new JavaScriptSerializer();
    this.Values = serializer.Serialize(textboxValues);
    string message = "";
    foreach (string textboxValue in textboxValues)
    {
        message += textboxValue + "\n";
    }
}

Source