我的C#网络应用程序要求用户输入汽车信息。用户可以添加一个或更多自动信息(最多20个)。
我的页面包含以下文本字段:汽车编号,汽车制造,汽车年份,里程,VIN 我有一个按钮,允许用户“添加更多汽车” 这个想法是允许用户添加多辆汽车。
当用户点击“添加更多汽车”时,如何动态显示文本框,并跟踪用户添加的汽车数量(为了将它们加载到数组并写入数据库)
使这个目标更容易的任何其他想法?该控件仅用于输入数据,而不用于查看任何记录。
答案 0 :(得分:1)
您可以执行以下操作:
您还可以制作文本框的用户控件(ASCX文件),以便更好地控制,例如处理事件或为每个文本框添加验证器。然后,每次向容器添加新的用户控件时,都必须使用LoadControl(“YourTextBox.ascx”)加载用户控件。
答案 1 :(得分:1)
我喜欢使用占位符并添加用户控件。它工作得很好,非常模块化。这是一个快速示例,我根据列表添加一些控件。你会注意到我将一个对象传递给我的用户控件,允许它隐藏或显示自己,根据权限显示某些选项等。您可以轻松修改此代码以添加事件:
for (int i = 0; i < comments.Count; i++)
{
controls.Comment commentCtrl = (controls.Comment)Page.LoadControl("~/userControls/Comment.ascx");
commentCtrl.ID = "commentUserCtrl" + i;
commentCtrl.setComment((myCommentObj)comments[i]);
placeHolderComments.Controls.Add(commentCtrl);
}
答案 2 :(得分:0)
使用ListView显示输入的汽车列表。创建一个InsertItem模板,该模板具有插入新车的模板,并且在插入时,通过重新加载记录来更新数据库,允许它们插入。您可以使用UpdatePanel包装它以使其异步。
OR
如果您需要纯客户端方法,请使用JavaScript以可编程方式创建每个条目,然后使用通用方案创建控件。然后,您可以检查表单集合中的已发布值并提取所有值,或者通过客户端的Web服务将数据流回服务器。
HTH。