[英]How do I access these dynamically created controls from the code behind?
我正在嘗試創建一個空白的網頁。 每按一次按鈕,就會添加一個新的文本框和一個刪除按鈕,以刪除所需的任何行。 效果很好。 問題是我無法使用C#訪問動態創建的控件。
在下面的代碼中,我將它們設置為<input
我也嘗試使用<asp:Textbox
但是它也沒有用。 Request.Form["txtItemName1"]
始終返回一個空字符串,由於文本框尚不存在,我無法在CS文件中執行txtItemName1.Text
。
我應該如何從C#端訪問文本框?
有沒有更好的方法來動態創建控件?
<!-- jQuery -->
<script type="text/javascript">
$(window).load(function () {
$(document).ready(function () {
var counter = 1;
$(document).on('click', '.removeButtonByID', function () {
var _name = this.name.replace("btnRemove", "");
if (confirm('Are you sure you want to remove line ' + _name + '? This cannot be undone.')) {
$("#TextBoxDiv" + _name).remove();
}
});
$("#addButton").click(function () {
$('<div />', { 'id': 'TextBoxDiv' + counter }).html(
$('<label />').html('')
)
.append($('<div class="col-sm-1" style="width: 200px; padding-left: 7px; padding-right: 0px;"><input type="text" class="form-control" placeholder="Item Name" runat="server">').attr({ 'id': 'txtItemName' + counter, 'name': 'txtItemName' + counter }))
.append($('<div class="col-sm-1" style="width: 100px; padding-left: 7px; padding-right: 0px;"><input type="text" class="form-control" placeholder="D/I" runat="server">').attr({ 'id': 'txtDI' + counter, 'name': 'txtDI' + counter }))
.append($('<div class="col-sm-1"><label class="checkbox-inline"><input type="checkbox" value="">Subtotal</label>').attr({ 'id': 'subtotal' + counter, 'name': 'chkSubTotal' + counter }))
.append($('<br />'))
.append($('<button type="button"><span class="glyphicon glyphicon-minus"></span></button>').attr({ 'name': 'btnRemove' + counter, 'class': 'btn btn-danger removeButtonByID' }))
.appendTo('#TextBoxesGroup')
counter++;
});
});
});
</script>
<!-- HTML -->
<div id='TextBoxesGroup'>
<!-- Dynamically added textboxes here -->
</div>
<hr />
<button type="button" class="btn btn-default" id='addButton'>
<span class="glyphicon glyphicon-plus"></span>
</button>
C#后端將無權訪問由jquery動態創建的輸入字段。 您可以在ASP.Net中創建服務器控件,並使用后面的代碼,並使用示例中的UpdatePanel 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.