c# - 如何判断是为 selectmethod 还是 selectcountmethod 调用了 ObjectDataSource OnSelected 事件?

标签 c# asp.net c#-3.0 objectdatasource

我有一个如下所示的对象数据源:

<asp:ObjectDataSource ID="obdsList" runat="server" 
EnablePaging="True" SelectCountMethod="GetCountByID" SortParameterName="sortExpression"
    OldValuesParameterFormatString="original_{0}" SelectMethod="GetByID" 
    TypeName="Services.Users" 
    onselected="obdsList_Selected">
    <SelectParameters>
        <asp:QueryStringParameter Name="ID" QueryStringField="ID" 
            Type="Int32" />           
    </SelectParameters>
</asp:ObjectDataSource>

还有一个像这样的 onselected 事件:

protected void obdsList_Selected(object sender, ObjectDataSourceStatusEventArgs e) {
}

但是,事件方法被调用了两次……一次是用我返回的列表,一次是用返回的 Int32 计数。如果我想将 e.ReturnValue 转换为返回列表,我该如何区分 count 和 select 方法?我可以执行 e.ReturnValue.GetType().ToString() 但这似乎是一个 hack。

最佳答案

我在做这个...

protected void obdsList_Selected(object sender, ObjectDataSourceStatusEventArgs e)
{
    if (e.ReturnValue != null)
    {
        if (e.ReturnValue.GetType() == typeof(int))
        {
            //e.ReturnValue is the SelectCountMethod value
        }                
    }
}

关于c# - 如何判断是为 selectmethod 还是 selectcountmethod 调用了 ObjectDataSource OnSelected 事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2915555/

相关文章:

mysql - C# 到 MY SQL 延迟查询执行

c# - 无法使用 C# 在 Selenium WebDriver 中使用现有的 Firefox 配置文件

c# - 如何将任意数量的图像动态添加到源字符串位于数据库中的 Web 表单?

c# - 将 LINQ 表达式传递给另一个 QueryProvider

javascript - ajax调用错误的链接路径

c# - 如何在使用 LinkBut​​ton/ImageButton 重定向到新页面时防止回发

c# - 在 .NET 4 中使用 IntPtr 时出现 PInvokeStackImbalance 异常? (适用于 .NET 3.5)

sql-server-2005 - 如何避免从 C# 构建的 Sql Server 2005 参数化查询变慢

c# - wpf 样式 setter 中的 TemplateBinding?

c# - WPF:DoubleAnimation "To"属性绑定(bind)计时