如何从后面的代码访问这些动态创建的控件?
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,如示例所示。
相关文章:
- onkeyup无法动态创建多个文本区域
- 如何使用javascript从主svg对象动态创建svg视图框
- 在动态创建的元素上获取对特定选择器的引用
- JQuery对动态创建的对象进行选择
- 使用jquery动态创建ul-li
- 从动态创建的html选择中选择所选选项
- 如何在动态创建的节点上绑定函数
- 动态创建OnClick事件Javascript
- 谷歌地图动态创建的标记点击事件使用相同的标记
- 在动态创建的标记上添加事件
- 动态创建一个javascript/jquery多级数组
- 如何动态创建许多Jquery颜色选择器(eyecon)
- 如何为动态创建的文本区域中输入的值更新ng模型
- 对动态创建的元素运行jQuery.ech()
- 使用jQuery访问动态创建的项
- 动态创建的iframe中的window.onerror在lne 0处给出脚本错误
- 当用户点击动态创建的链接时,如何调用JS方法.JQuery,ASP.NET MVC
- 我想将链接关联到动态创建的p元素上的相应文章
- AngularJs从列表中动态创建指令
- 使用javascript动态创建html内容/元素