zoukankan      html  css  js  c++  java
  • GridView ObjectDataSource 一些使用说明

     

    1.  GridView 在使用ObjectDataSource做数据源后,如果要启用删除,需要指定 GridView 的DataKeyNames 属性,只有设置了DataKeyNames='xxx'后 GridView在执行删除操作时会调用一个包含名为 xxx 参数的 Delete操作, 当然这个时候你必须设置ObjectDataSource 的OldValuesParameterFormatString 为{0} ,ConflictDetection 属性为 OverwriteChanges (最后一个提交更新的覆盖前面的), 如果OldValuesParameterFormatString 为原来的Original_{0}那么 在ConflictDetection属性为OverwriteChanges时,ObjectDataSource在执行删除操作时,会试图寻找一个含有名为 Original_xxx 的函数,如果ConflictDetection属性为CompareAllvalues那么 就需要一个签名中包含 Original_xxx,Original_绑定字段1,Original_绑定字段2,.... Original_绑定字段n  这样的方法签名,

    2.绑定的字段(使用Bind) 会产生对应的参数名称---在设置为ReadOnly后冲突检测设置不同参数也不同,
    具体的可以在实际中查看错误提示以了解需要那些参数, 在ObjectDataSource中设置的Parameter也会产生对应参数的名称,并且排在Bind设置的前面,另外当Parameter中设置的名称跟Bind中的同名时(不区分大小写)那么2个参数会保留一个,同样在GridView 的 Deleting Updateing 以及ObjectDataSource 中对应事件中,对参数集合的设置也会影响到ObjectDataSource最后调用方法的具体签名,(参数名称不区分大小写,跟顺序,.net按字符名称来匹配参数,再按实际方法的参数类型来转化)

    实际使用中在不考虑数据并发冲突时 可以将ConflictDetection熟悉设置为OverwriteChanges,将OldValuesParameterFormatString设置为{0},并且指定GridView的DataKeyNames属性, 这样的设置能满足大多数,网站编程中的数据管理操作!

  • 相关阅读:
    mac c++编译出现segmentation fault :11错误
    ssh 连接缓慢解决方法
    237. Delete Node in a Linked List
    203. Remove Linked List Elements
    Inversion of Control Containers and the Dependency Injection pattern
    82. Remove Duplicates from Sorted List II
    83. Remove Duplicates from Sorted List
    SxsTrace
    使用CCleaner卸载chrome
    decimal and double ToString problem
  • 原文地址:https://www.cnblogs.com/wdfrog/p/1296372.html
Copyright © 2011-2022 走看看