C# 如何将URL参数传递给ObjectDataSource SelectMethod?

C# 如何将URL参数传递给ObjectDataSource SelectMethod?,c#,asp.net,.net-4.0,C#,Asp.net,.net 4.0,我有一个带有文章和注释的小示例应用程序。 用户可以通过在URL中传递文章ID值来查看特定文章: http://localhost:56079/viewArticle.aspx?id=123456 我希望文章id用于查找相应的注释,并用它们以相同的形式填充gridview viewArticle.aspx: <dx:ASPxGridView ID="ASPxGridView1" runat="server" AutoGenerateColumns="False" Width="100%"

我有一个带有文章和注释的小示例应用程序。 用户可以通过在URL中传递文章ID值来查看特定文章:

http://localhost:56079/viewArticle.aspx?id=123456
我希望文章id用于查找相应的注释,并用它们以相同的形式填充gridview

viewArticle.aspx:

<dx:ASPxGridView ID="ASPxGridView1" runat="server" AutoGenerateColumns="False" Width="100%" DataSourceID="ObjectDataSource1">
                <Columns>
                    <dx:GridViewDataTextColumn  FieldName="field1"   Caption="Field #1"      VisibleIndex="0" />
                    <dx:GridViewDataTextColumn  FieldName="field2"   Caption="Field #2" VisibleIndex="1" />
                </Columns>
            </dx:ASPxGridView>
            <asp:ObjectDataSource ID="ObjectDataSource1" runat="server"
                SelectMethod="searchComments"
                TypeName="App.CommentManager">
                <SelectParameters>
                </SelectParameters>
            </asp:ObjectDataSource>
这将导致错误:ObjectDataSource“ObjectDataSource1”找不到没有参数的非泛型方法“searchComments('123456')


将QueryString参数直接传递到SelectParameters中-即:

            <SelectParameters>
                <asp:QueryStringParameter  QueryStringField="id" />
            </SelectParameters>

您可以在
选择参数
部分中使用
查询字符串参数

    <SelectParameters>
            <asp:QueryStringParameter QueryStringField="id" Name="id"/>
    </SelectParameters>

我的建议:不要使用aspx页面上的数据源
            <SelectParameters>
                <asp:QueryStringParameter  QueryStringField="id" />
            </SelectParameters>
    <SelectParameters>
            <asp:QueryStringParameter QueryStringField="id" Name="id"/>
    </SelectParameters>