2014-10-22 62 views
0

請將其作爲較窄的問題,因爲我的最後一個範圍太寬。在回發中保留動態文本框和值

假設我使用javascript創建了一個動態文本框 - 我如何確保在回發時,此文本框被保存爲ALONG WITH用戶輸入的任何值?

我的JS如下:

$(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; 

    }); 
}); 

回答

0

由於HTTP是無狀態的協議,你將不能夠除非你做一些處理回發後得到的值。

如果您打算在回發中獲取這些值,請使用Request.Form["controlid"]獲取服務器端的值。

要堅持在回發的值,你必須將它們保存到hidden field(該值設置爲隱藏字段,你從回傳得到什麼),並在頁面加載(我的意思document.read()window.load)重建,使用隱藏字段值。 您將需要JS從隱藏值重建。

+0

我不能使用asp.net的Viewstate嗎?上面的js示例以一個文本框添加一行爲例 - 我的用戶可能會向表單添加一百個或更多的文本框。 – ajguk 2014-10-22 10:20:40

+0

因爲這些不是'服務器控件',所以你不能使用'ViewState',因爲這些值永遠不會保存在viewstate中。信息 - 最終viewstate商店編碼的字符串隱藏在字段中,我建議你使用隱藏字段。 - http://msdn.microsoft.com/en-us/library/system.web.ui.control.viewstate(v=vs.110).aspx - 「ASP.NET服務器控件使用此屬性」 – 2014-10-22 11:03:04