如何从代码后面动态添加动态添加的html选择控件?

时间:2012-12-12 00:00:01

标签: c# javascript asp.net visual-studio-2008

我已经在asp.net和c#编程了一个星期左右,请耐心等待。

我正在尝试在asp c#中做一个收据生成器,看起来有点像这样:

Receipt

蓝色按钮使用此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和的TextField。

2 个答案:

答案 0 :(得分:1)

请查看以下链接。 Accessing client side dynamic controls within ASP.NET codebehind

您应该能够在服务器端按名称访问表单元素,如下所示:

var val = Request.Form["YOUR_CONTROLS_NAME"];

您必须负责为使用唯一名称添加的控件命名。

答案 1 :(得分:0)

客户端和服务器端代码是两回事。据我所知,没有办法做你要问的事。

如果要从数据库填充下拉列表,可以执行的操作是将数据加载到隐藏字段或控件中,然后使用javascript填充数据。

对我来说听起来相当复杂,如果你不想要一个丑陋的回发,也许更容易做一切服务器端并使用更新面板。

如果没有完全看到你的项目,很难说出最适合你的东西。

相关问题