ObjectDataSource插入和更新方法错误

时间:2010-05-25 09:04:58

标签: c# .net asp.net ado.net objectdatasource

我正在开发asp.net 3.5项目。

当我想使用DetailsView插入时出现此错误:

错误:ObjectDataSource'ObjectDataSource2'找不到包含参数的非泛型方法'AddCity':CITY_NAME。

<asp:ObjectDataSource ID="ObjectDataSource2" runat="server" SelectMethod="GetCityByID" UpdateMethod="UpdateCity" InsertMethod="AddCity" TypeName="NOP_CRM.Lib.nop_cities" OldValuesParameterFormatString="original_{0}">
    <SelectParameters>
        <asp:ControlParameter ControlID="GridView1" Name="cityid" PropertyName="SelectedValue" Type="Int32" DefaultValue="1" />
    </SelectParameters>
    <UpdateParameters>                              
        <asp:Parameter Name="CITY_NAME" Type="String" />
    </UpdateParameters>
    <InsertParameters>
        <asp:Parameter Name="CITY_NAME" Type="String" />
    </InsertParameters>                                
</asp:ObjectDataSource>                    

...

public int AddCity(string cityname)
{
    CITY_NAME = cityname;
    Insert();
    return _CITY_ID;            
}        

2 个答案:

答案 0 :(得分:2)

更新您的ObjectDataSource标记,如下所示,它应该工作。您在插入参数标记中给出了错误的参数名称。

<asp:ObjectDataSource ID="ObjectDataSource2" runat="server" SelectMethod="GetCityByID" UpdateMethod="UpdateCity" InsertMethod="AddCity" TypeName="NOP_CRM.Lib.nop_cities" OldValuesParameterFormatString="original_{0}"> 
    <SelectParameters> 
        <asp:ControlParameter ControlID="GridView1" Name="cityid" PropertyName="SelectedValue" Type="Int32" DefaultValue="1" /> 
    </SelectParameters> 
    <UpdateParameters>                               
        <asp:Parameter Name="CITY_NAME" Type="String" /> 
    </UpdateParameters> 
    <InsertParameters> 
        <asp:Parameter Name="cityname" Type="String" /> 
    </InsertParameters>                                 
</asp:ObjectDataSource>   

答案 1 :(得分:1)

在声明objectdatasource以使其与方法中的签名匹配时,您是否尝试将Name =“CITY_NAME”更改为Name =“cityname”?