c# - ObjectDataSource 找不到非泛型方法

标签 c# asp.net c#-4.0

我有这个 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 代码是否可以包含可选参数?

最佳答案

添加方法:

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

并检查它是否有效?

关于c# - ObjectDataSource 找不到非泛型方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4490826/

相关文章:

c# - 气球未显示 NotifyIcon.ShowBalloonTip

c# - monodroid 慢吗?

c#-4.0 - 从 ServiceStack.Ormlite 生成的查询中删除双引号

c# - 用于将图像保存为 Mac 的 PICT/PCT 文件格式的 .Net 库

c# - 如何从时区名称获取日期和时间

asp.net - 在Windows身份验证之前拦截HTTP OPTIONS ASP.NET Core 2.0

asp.net - 如何使 PDF 可下载,使其不会在新窗口中打开

linq - 在 LINQ 中使用 TryGetValue()?

c# - 什么时候使用反射?模式/反模式

javascript - 在没有 ASP.NET Ajax 的情况下回发后显示模式