关于ObjectDataSource的可选参数的问题

时间:2018-08-14 12:21:29

标签: asp.net vb.net

<asp:ObjectDataSource ID="ObjectDataSource1" runat="server" 
SelectMethod="GetAll" TypeName="BARS.BL.Plant"></asp:ObjectDataSource> 

错误: ObjectDataSource'ObjectDataSource1'找不到没有参数的非通用方法'GetAll'

如果我尝试向GetAll方法添加可选参数,则出现上述错误。 我该如何解决?

1 个答案:

答案 0 :(得分:0)

假设您有GetAll方法,其可选参数如下:

[DataObjectMethod(DataObjectMethodType.Select)]
public DataTable GetAll(int? optionalParam = null)
{
    // do something
}

然后,您可以创建一个不带任何参数的新方法,以空参数调用重载版本:

[DataObjectMethod(DataObjectMethodType.Select)]
public DataTable GetAll()
{
    return GetAll(null);
}

或创建一个SelectParameter,如下所示:

<asp:ObjectDataSource ID="ObjectDataSource1" runat="server" 
                      SelectMethod="GetAll" TypeName="BARS.BL.Plant">
    <SelectParameters>
        <asp:Parameter Name="optionalParam" Type="Empty" />
    </SelectParameters>
</asp:ObjectDataSource>

类似的问题:

ObjectDataSource could not find a non-generic method

Error ObjectDataSource could not find a non-generic method