在asp.net Repeater中添加多个新行
发布时间:2020-12-16 07:45:32 所属栏目:asp.Net 来源:网络整理
导读:我正在开发一个允许用户输入/编辑多个记录的asp.net页面.我正在使用Repeater控件来显示每条记录的输入字段.我想要一个“添加”按钮,单击该按钮时,插入一组新的空白输入字段.用户应该能够输入新记录,然后多次单击“添加”按钮并继续添加新记录.然后,当用户单
我正在开发一个允许用户输入/编辑多个记录的asp.net页面.我正在使用Repeater控件来显示每条记录的输入字段.我想要一个“添加”按钮,单击该按钮时,插入一组新的空白输入字段.用户应该能够输入新记录,然后多次单击“添加”按钮并继续添加新记录.然后,当用户单击“保存”按钮时,这些新记录将与现有记录的更改一起保存.如果用户未单击“保存”,则应丢弃记录而不将其写入数据库.
有没有办法用Repeater控件实现这个“添加”功能? 解决方法
对此有一个相当简单的解决方案.假设您有某种形式的View Model暂时保存用户输入的数据,您可以简单地将另一个“空白”ViewModel添加到转发器用作数据源的集合中.在保存时,您可以简单地将所有修改保存到View Model中存在的数据库中.一个可能的例子是:
protected void btnAdd_OnCommand(object sender,EventArgs e) { List<Item> items = (List<Item>)this.ItemRepeater.DataSource; items.Add(new Item() { Id = -1 }); this.ItemRepeater.DataBind(); } protected void btnSave_OnCommand(object sender,EventArgs e) { List<Item> items = (List<Item>)this.ItemRepeater.DataSource; foreach (Item itm in items) { if (itm.Id == -1) { //Save New Item } else { //Update existing item } } } 这里的主要警告是,您必须重新填充ItemRepeater的数据源,并使用用户所做的任何更改(您希望保留/显示)更新View模型. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net开源流程引擎API开发调用接口大全-工作流引擎设计
- Asp.net会话到期重定向到登录页面
- asp.net-mvc – FineUploader无法POST
- asp.net-mvc-3 – 使用Ninject获取对象的实例
- asp.net-mvc – 在ASP.NET核心中创建单元测试
- asp.net-mvc – 使用AutoMapper的控制器上的单元测试
- asp.net-mvc – 如何从ASP.NET MVC中的JSONResult方法重定向
- asp.net-mvc – 在自定义授权属性中覆盖AuthorizeCore导致“
- asp.net – 导致GridView无效回发的TemplateField按钮
- asp.net – 可以从没有这些.svn文件夹的subversion中检出文
推荐文章
站长推荐
- asp.net-mvc – 如何处理返回ViewResult以外的结
- 用户控件在asp.net和Performance中
- asp.net-core – 使用ASP.NET Core从`project.js
- asp.net – 让网站暂时无法使用的优雅方式?
- asp.net – 无法为Elmah配置邮件
- asp.net-mvc – 带MVC结果的Response.Flush无效
- ASP.NET sessionState SQLServer模式超时不起作用
- asp.net-mvc – Razor视图与部分视图
- asp.net-mvc – 如何扩展/架构ASP.NET MVC 3授权
- asp.net-mvc – 使用GoogleOAuth2Authentication
热点阅读