使用ObjectDataSource注意DeleteMethod、UpdateMethod、Insert等方法中參數的命名規範

來源:互聯網
上載者:User
使用ObjectDataSource注意DeleteMethod、UpdateMethod等方法中參數的命名規範:
如:    如果UpdateMethod原型為:
         <DataObjectMethod(DataObjectMethodType.Update, True)> _
    Public Shared Sub UpdateBuild(ByVal sBuildID As String, ByVal sBuildNo As String, ByVal sBuildLoc As String)
則參數指定應為:
 <UpdateParameters>
                <asp:ControlParameter ControlID="txtBuildID" Name="sBuildID" PropertyName="Text" />
                <asp:ControlParameter ControlID="txtBuildNO" Name="sBuildNo" PropertyName="Text" />
                <asp:ControlParameter ControlID="txtBuildLoc" Name="sBuildLoc" PropertyName="Text" />
            </UpdateParameters>
這些中的parameter的名稱要與UpdateMethod中的方法名稱完全一樣。
GridView的 DataKeyNames屬性被賦值為隱含對象的主鍵。這是在使用GridView來編輯或刪除資料的要點,因為這個屬性象指出了標識唯一記錄的那個欄位(或是一組欄位)。
----------------補充ObjectDatasource的幾個約定
objectDatasource綁定到gridview時且使用<%#運算式繫結資料行時,要更新,需注意:
1.設定gridview的datakeyNames為主索引值(更新需要的主鍵列)
2.objectdatasource中的update方法中參數名必須與取出的記錄的欄位名同名
3.所有<%#bind列的資料欄位名都需要出現在objectdatasource中的update方法中參數中
4.如果需要根據原始主索引值,則需要設定原始索引值的格式化名稱OldValuesParameterFormatString="ORG_{0}",且根據gridview的datakeyNames(例如為ID)中的欄位名形成的ORG_ID這樣的名稱,要出現在objectdatasource的update方法中。
5.不需要設定UpdateParameters屬性,除非有額外的參數,ConflictDetection不需要設定(預設即使用OverwriteChanges)
如果3或5沒有滿足,就會出現“找不到非泛型方法XXXXX”了

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.