ObjectDataSource не удалось найти неуниверсальный метод - PullRequest
3 голосов
/ 20 декабря 2010

У меня есть этот код ASP.NET:

<asp:DropDownList 
    ID="ddlBrokers" 
    runat="server" 
    AutoPostBack="true" 
    DataSourceID="srcBrokers" 
    DataTextField="broker" 
    DataValueField="brokerId"
/>

<asp:ObjectDataSource
    id="srcBrokers" 
    TypeName="DatabaseComponent.DBUtil" 
    SelectMethod="GetBrokers" 
    runat="server">
</asp:ObjectDataSource>

Мой код DAL:

public DataTable GetBrokers(bool? hasImport=null)
{
    SqlCommand cmd = new SqlCommand("usp_GetBrokers");
    if (hasImport.HasValue)
        cmd.Parameters.AddWithValue("@hasImport", hasImport);
    return FillDataTable(cmd, "brokers");
}

Когда форма загружается, я получаю эту ошибку:

ObjectDataSource 'srcBrokers' could not find a non-generic method 'GetBrokers' that has no parameters.

Это мой необязательный параметр, который вызывает проблему?Как я могу обойти это?Можно ли иметь необязательные параметры с декларативным кодом ASP.NET?

Ответы [ 2 ]

3 голосов
/ 20 декабря 2010

добавить метод:

public DataTable GetBrokers() { 
              return GetBrokers(null);
}

и проверить, работает ли он?

0 голосов
/ 28 ноября 2016

Вы можете использовать SelectParameters так:

<asp:ObjectDataSource id="srcBrokers" TypeName="DatabaseComponent.DBUtil" SelectMethod="GetBrokers" runat="server">
    <SelectParameters>
    <asp:Parameter Name="hasImport" Type="Empty" />
    <SelectParameters>
</asp:ObjectDataSource>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...