ObjectDataSource Ошибка вставки и обновления методов - PullRequest
2 голосов
/ 25 мая 2010

Я занимаюсь разработкой проекта 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 ]

2 голосов
/ 25 мая 2010

Обновите разметку 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 голос
/ 25 мая 2010

Вы пытались изменить Name = "CITY_NAME" на Name = "cityname" при объявлении источника данных объекта, чтобы он совпадал с подписью в вашем методе?

...