我有一个包含2条记录ID和描述的数据库。
我想要做的是尝试将其绑定到表格,例如
<tr>
<drop down select list with ids available> <textbox>
</tr> <add button>
因此,用户可以从下拉列表中选择一个ID,输入描述,然后单击旁边的添加按钮,该按钮将动态复制该块,以便他们可以输入任意数量的内容。在webforms中解决这个问题的最佳方法是什么? DetailsView控件?我不知道如何让它动态添加html块呢?任何帮助将不胜感激。
答案 0 :(得分:0)
伪代码:
foreach description
create new tablerow
create a table cell in the row with the description as a label
create a table cell in the row with the id dropdown as a combobox
add the tablerow to the table.rows collection
棘手的部分是访问动态创建的表中的数据,但只要在每个控件上设置一个可以绑定到数据的标识符,就不难做到。
答案 1 :(得分:0)
除了简单的CRUD表单之外,我还远离任何内置控件(即DetailsView,FormView),因为手动创建自己的数据输入表单并不需要花费太多精力。
动态地将控件添加到ASP.NET Webform(让它们在回发中工作)是一个非常棘手的方法,但是简而言之,你需要做类似的事情:
动态创建的控件不会在回发中保留,因此您需要在页面OnInit方法的每个回发中创建它们。只要控件以正确的顺序重新创建并具有相同的ID,那么它们将在回发时成功重新填充。
由于您是动态添加控件,因此可能需要将页面EnableEventValidation属性设置为false。