我正在开发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;
}
答案 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”?