0

我正在尝试将数据库字段添加到 ASP.NET 网络表单站点中的 ObjectDataSource。

但是,当我尝试添加该字段时,我收到以下错误:

ObjectDataSource 'ObjectDataSource1' could not find a non-generic method 'Update' that has parameters: Cat_ID, name, descr, makat, img_path, img_path2, img_tooltip, img_tooltip2, locked, sort, seo_desc, seo_title, seo_key, h1, footer_text, original_id.

我尝试使用 sql metal 等实用程序重新生成 dbml 文件并自己编辑对象数据源,但无济于事。

这是我的 ObjectDataSource 代码:

<asp:ObjectDataSource ID="ObjectDataSource1" runat="server" DeleteMethod="Delete" 
        InsertMethod="Insert" UpdateMethod="Update" OnSelected="ObjectDataSource1_Selected"
    OldValuesParameterFormatString="original_{0}" SelectMethod="GetData" 
        TypeName="main_dsTableAdapters.CollecTableAdapter">
    <DeleteParameters>
        <asp:Parameter Name="Original_id" Type="Int32" />
    </DeleteParameters>
    <UpdateParameters>
        <asp:QueryStringParameter Name="Cat_ID" QueryStringField="Cat_ID" Type="Int32" />
        <asp:Parameter Name="name" Type="String" />
        <asp:Parameter Name="descr" Type="String" />
        <asp:Parameter Name="makat" Type="String" />
        <asp:Parameter Name="img_path" Type="String" />
        <asp:Parameter Name="img_path2" Type="String" />
        <asp:Parameter Name="img_tooltip" Type="String" />
        <asp:Parameter Name="img_tooltip2" Type="String" />
        <asp:Parameter Name="locked" Type="Boolean" />
        <asp:Parameter Name="sort" Type="Int32" />
        <asp:Parameter Name="seo_desc" Type="String" />
        <asp:Parameter Name="seo_title" Type="String" />
        <asp:Parameter Name="seo_key" Type="String" />
        <asp:Parameter Name="h1" Type="String" />
        <asp:Parameter Name="footer_text" Type="String" />
        <asp:Parameter Name="Original_id" Type="Int32" />
    </UpdateParameters>
    <SelectParameters>
        <asp:QueryStringParameter Name="Cat_ID" QueryStringField="Cat_ID" Type="Int32" />
    </SelectParameters>
    <InsertParameters>
        <asp:QueryStringParameter Name="Cat_ID" QueryStringField="Cat_ID" Type="Int32" />
        <asp:Parameter Name="Cat_ID" Type="Int32" />
        <asp:Parameter Name="name" Type="String" />
        <asp:Parameter Name="descr" Type="String" />
        <asp:Parameter Name="makat" Type="String" />
        <asp:Parameter Name="img_path" Type="String" />
        <asp:Parameter Name="img_path2" Type="String" />
        <asp:Parameter Name="img_tooltip" Type="String" />
        <asp:Parameter Name="img_tooltip2" Type="String" />
        <asp:Parameter Name="locked" Type="Boolean" />
        <asp:Parameter Name="sort" Type="Int32" DefaultValue="0" />
        <asp:Parameter Name="seo_desc" Type="String" />
        <asp:Parameter Name="seo_title" Type="String" />
        <asp:Parameter Name="seo_key" Type="String" />
        <asp:Parameter Name="h1" Type="String" />
        <asp:Parameter Name="footer_text" Type="String" />
    </InsertParameters>
</asp:ObjectDataSource>

我究竟做错了什么?当想要在 ObjectDataSource 中编辑/添加字段时,我应该采取某些步骤吗?

4

1 回答 1

0

问题是更新 DBML 布局和相关数据集并没有替换现有数据源,而是创建了一个名称中包含 1 的重复数据源。

解决方案是在 ObjectDataSource 中加载新数据源并刷新架构。

于 2013-08-14T08:23:44.393 回答