關於 ObjectDataSource 的 OldValuesParameterFormatString

foxdelphi 2011-08-10 09:41:16
使用向导配置ObjectDataSource 的另一个影响是,Visual Studio 将OldValuesParameterFormatString属性 设为 original_{0} 。此属性值用于包含被编辑数据的初始值,在下列两种场景中非常有用 :

用户在编辑记录时可以更改主键值。在这种情况下,必须同时提供新的主键值和初始主键值。这样,我们才能查找到带有初始主键值的记录,并作相应的更新。
使用并发优化。并发优化技术用于确保两个同时操作的用户不会覆盖彼此的更改。后面的教程将对此作详细讲解。
OldValuesParameterFormatString 属性表示了基础对象的更新和删除方法中对应初始值的输入参数的名称。在讨论并发优化时,我将对此属性及其作用作详细介绍。此处提到此属性是因为,我们的 BLL 的方法不接受初始值,因此必须将它删除。如果 OldValuesParameterFormatString 属性没有设为默认值 {0} ,Web 数据控件试图调用 ObjectDataSource 的 Update() 或 Delete() 方法时会出现错误。因为 ObjectDataSource 将试图同时传递指定的 UpdateParameters (或 DeleteParameters )和初始值参数。

如果现在对此问题不是很清楚也没关系,我们将在 后面的教程中详细研究该属性及其用途。现在,只需确保从声明性语法中完全删除此属性的声明,或将它的值设为默认的 {0} 即可。

注意:如果只是从 Design 视图的 Properties 窗口中清除OldValuesParameterFormatString 属性值,该属性在声明性语法中仍然存在,但被设置为空字符串。遗憾的是,这也会导致出现上面提到的问题。因此,应从声明性语法中将此属性删除,或者从 Properties 窗口中将属性值设为默认的 {0} 。
---------------------------------------------------

我已在 Properties 窗口中将属性值设为默认的 {0} ,為什麼 還會出現:
Value cannot be null.
Parameter name: Original_co
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.ArgumentNullException: Value cannot be null.
Parameter name: Original_co

Source Error:


Line 2247: }
Line 2248: if ((Original_co == null)) {
Line 2249: throw new System.ArgumentNullException("Original_co");
Line 2250: }
Line 2251: else {



...全文
155 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
x363961461 2011-08-15
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 foxdelphi 的回复:]
引用 2 楼 x363961461 的回复:
这个说真的没有勇武之处。
我想说的是,就算是初学者,也应先看原理和基础,然后在来学习。
像这种数据源控件的原理, 了解下就完全没必要用了。
难道每次开发还要拖一堆数据源控件吗, 每次有变动什么了,都要到视图状态去改控件配置吗,

------------------
謝謝兄台的指點, 因為是初學 ,什麼都不懂。
看這上面的 http:/……
[/Quote]
谈不到什么好建议,平常都是工作到哪,学到哪。上学的时候也没好好学。 看书多了,也还是不理解。最好还是去下点源码吧。 还有你可以试着模仿,比如你打开淘宝首页,你觉的哪个功能和模块蛮好,就模仿下,看能否做出来。做不到就去问。做动态的。 那些都是毕业了企业用的到的,
foxdelphi 2011-08-10
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 x363961461 的回复:]
这个说真的没有勇武之处。
我想说的是,就算是初学者,也应先看原理和基础,然后在来学习。
像这种数据源控件的原理, 了解下就完全没必要用了。
难道每次开发还要拖一堆数据源控件吗, 每次有变动什么了,都要到视图状态去改控件配置吗,
[/Quote]
------------------
謝謝兄台的指點, 因為是初學 ,什麼都不懂。
看這上面的 http://msdn.microsoft.com/zh-cn/dd239172 學習的。

不知兄台 有更好的入門方法。或有哪些書可以介紹一下。

十分感激!
x363961461 2011-08-10
  • 打赏
  • 举报
回复
这个说真的没有勇武之处。
我想说的是,就算是初学者,也应先看原理和基础,然后在来学习。
像这种数据源控件的原理, 了解下就完全没必要用了。
难道每次开发还要拖一堆数据源控件吗, 每次有变动什么了,都要到视图状态去改控件配置吗,

foxdelphi 2011-08-10
  • 打赏
  • 举报
回复
還沒有人來 看! 在線等 。
子夜__ 2011-08-10
  • 打赏
  • 举报
回复

62,041

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧