Asp.net 在回发时保留动态文本框和值

Asp.net 在回发时保留动态文本框和值,asp.net,Asp.net,像我上次问的问题一样,把这个问题作为一个狭义的问题来问太宽泛了 假设我使用javascript创建了一个动态文本框——如何确保在回发时,该文本框与用户在其中输入的任何值一起保留 我的建议如下: $(document).ready(function () { var numMileage = 1; $('#addMileage').bind('click', function (event) { $('#page_content_containermileage'

像我上次问的问题一样,把这个问题作为一个狭义的问题来问太宽泛了

假设我使用javascript创建了一个动态文本框——如何确保在回发时,该文本框与用户在其中输入的任何值一起保留

我的建议如下:

$(document).ready(function () {
    var numMileage = 1;
    $('#addMileage').bind('click', function (event) {

        $('#page_content_containermileage').append('<div class="row"><div class="col-sm-1"><input type="text" class="form-control" placeholder="Date" id="txtMileage' + numMileage + '" name="txtMileage' + numMileage + '" /></div></div>');
        numMileage += 1;

    });
});

由于HTTP是无状态协议,除非进行一些处理,否则回发后将无法获取值

若您打算在回发中获取这些值,那个么使用Request.Form[controlid]在服务器端获取这些值

要在回发时保留这些值,必须将它们保存到隐藏字段将值设置为隐藏字段,设置为从回发和页面加载中获得的值,我指的是document.read或window.load使用隐藏字段值重建这些值。
您将需要JS从隐藏值重建该值。

我可以不使用asp.net的Viewstate吗?上面的js示例添加了一行和一个文本框作为示例-我的用户可能会向表单添加100个或更多文本框。由于这些不是服务器控件,您不能使用ViewState,因为这些值从未保存在ViewState中。信息-最终viewstate将编码字符串存储在隐藏字段中,我建议您使用隐藏字段。--ASP.NET服务器控件使用此属性