Asp.Net GridView EditIndex竞争条件?
发布时间:2020-12-16 09:33:52 所属栏目:asp.Net 来源:网络整理
导读:这是一个假设性的问题,让我离开了花园小径…说我有一个我想编辑的网格视图…给定一个绑定数据的方法.. private void BindGridFirst() { var data = new Liststring() { "A","B","C","D","E","F" }; gridView.DataSource = data; gridView.DataBind(); } 现在
这是一个假设性的问题,让我离开了花园小径…说我有一个我想编辑的网格视图…给定一个绑定数据的方法..
private void BindGridFirst() { var data = new List<string>() { "A","B","C","D","E","F" }; gridView.DataSource = data; gridView.DataBind(); } 现在假设我正在查看此页面,另一位用户已经出现并对基础数据进行了一些更改,现在我点击编辑按钮编辑D … 编辑方法非常简单: protected void RowEdit(object sender,GridViewEditEventArgs e) { gridView.EditIndex = e.NewEditIndex; BindGridSecond(); } 编辑:我不得不指出,这种方法几乎用于所有在线示例,包括来自Microsoft的示例. 这个BindGridSecond()方法如下所示: private void BindGridSecond() { var data = new List<string>() { "A","AA","F" }; gridView.DataSource = data; gridView.DataBind(); } 它完全一样,但数据现在已经改变了. UI更新后,用户现在处于针对行C的编辑模式. 不是用户期望或想要的.如何处理这种情况以避免这样的问题? 解决方法
就个人而言,我在GridView上使用DataKeyNames属性和SelectedDataKey,这样我就可以轻松获取用户想要的行的主键,而不是依赖于网格的索引.
通过使用主键,您可以将新项目添加到集合中,例如在您的示例中.此外,使用主键可以更轻松地处理网格上的分页,因为您不必考虑页码和索引. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net – asp服务器错误’无法加载文件或程序集’,但程序
- asp.net-mvc-3 – 在Asp.Net MVC中,我对身份验证模式有哪些
- 在servicestack中使用asp.net身份验证
- asp.net-mvc – MVCContrib,Html.Grid:如何将基于行的id附
- asp.net-mvc – 带MVC结果的Response.Flush无效
- asp.net-core – 如何将HostBuilder用于WebJob?
- asp.net-mvc – Accord.NET比较两个图像以确定相似性
- asp.net-mvc – MVC HTTPS localhost Chrome连接不安全NET
- 如何将ASP.NET Treeview控件绑定到数据表?
- asp.net-core – 将标识移动到类库ASP.Net Core
推荐文章
站长推荐
- asp.net-mvc – 无法更新数据库以匹配当前模型,因
- 我如何保护我的ASP.Net源代码从我的开发人员
- asp.net-core – 实体框架核心 – 相当于IN子句
- asp.net下将图片保存到XML文件的方法
- asp.net – 在global.asax中设置的用户仅在下次请
- Azure vs WCF vs ASP.NET vs …它如何组合在一起
- asp.net-mvc – ViewModel应该位于ASP.NET MVC应
- asp.net – 单元测试http处理程序?
- asp.net – SignalR和HttpContext / Session
- [ASP.NET MVC]如何定制Numeric属性/字段验证消息
热点阅读