我已经用 ASP.NET 和 C# 编程一周左右了,请耐心等待。
我正在尝试在 asp c# 中做一个收据生成器,看起来有点像这样:
蓝色按钮使用以下 JavaScript 函数向表格添加新行:
function nuevo(){
$("#tablaUsuarios").append("<tr>" +
"<td><select name='listaConceptos' id='listaConceptos' runat='server'></select></td>" +
"<td><input name='precio' id='precio' type='text' size='15' runat='server' readonly/></td>" +
"<td><input type='button' value='Eliminar' onclick='eliminar(this)' class='btn btn-danger eliminar'></td>"+
"</tr>")
}
但是,由于我在运行时通过 javascript 添加控件,因此我无法从后面的代码访问它们,就像它们是 DropDownList 控件一样,添加 runat="server" 也是无用的,因为在运行时我无法将它们转换为服务器控件,有什么方法可以访问该控件,以便我可以填充、设置数据源等,就像它是一个 DropDownList 一样?或者任何其他方式动态生成和填充 DDL?
我考虑过用数据库中我需要的所有数据填充一个隐藏的 DropDownList,并在创建时将其所有属性复制到其他选择控件,但我不知道它的行为是否会像具有 DataValueFields 和的 DDL 一样文本字段。
最佳答案
查看下面的链接。 Accessing client side dynamic controls within ASP.NET codebehind
您应该能够在服务器端按名称访问表单元素,如下所示:
var val = Request.Form["YOUR_CONTROLS_NAME"];
您必须负责使用唯一的名称来命名您添加的控件。
关于c# - 如何从代码隐藏动态添加 html 选择控件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13830581/