ObjectDataSource和重载函数

时间:2011-01-20 04:12:53

标签: c# .net asp.net asp.net-2.0

e.g。说我在这样定义的aspx页面中有一个ObjectDataSource:

<asp:ObjectDataSource ID="odsList" runat="server" SelectMethod="GetData"  
TypeName="Company.DataFetcher"  .... >
    <SelectParameters>
        <asp:Parameter Name="p1" Type="Object" />
        <asp:Parameter Name="p2" Type="Object" />        
    </SelectParameters> </asp:ObjectDataSource>

DataFetcher.GetData方法可能具有如下签名:

[DataObjectMethod(DataObjectMethodType.Select)]
public DSData GetData(int p1, int p2)

一切正常。现在,如果我使用额外的参数定义GetData函数的重载。例如:

[DataObjectMethod(DataObjectMethodType.Select)]
public DSData GetData(int p1, int p2, int p3)

这可能导致任何问题吗?我认为ASP.NET足够聪明,可以根据传递的参数调用正确的SelectMethod,但有什么需要注意的吗?

感谢。

1 个答案:

答案 0 :(得分:0)

我不认为ASP.net会这样做。因为即使在sql数据源中,过程名称对于数据库也是唯一的,并且方法绑定对两者都是相同的。我不确定,最好自己检查一下。

看看这个,看看数据源控件如何为数据绑定字段创建参数(包括对象数据源)

http://msdn.microsoft.com/en-us/library/ms228051.aspx

在这里

http://msdn.microsoft.com/en-us/library/57hkzhy5.aspx