【问题标题】:ObjectDataSource Insert and Update methods errorObjectDataSource 插入和更新方法错误
【发布时间】:2010-05-25 09:04:57
【问题描述】:

我正在开发 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;            
}        

【问题讨论】:

  • 我找到了这样的解决方案:我将城市名称更改为 CITY_NAME。但是一定不能像这样的方法参数和objectdatasource参数的映射。。我觉得这是VS 2008的bug!!

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


【解决方案1】:

如下更新您的 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>   

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 2010-11-01
      • 1970-01-01
      • 2011-11-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多