0

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

http://localhost:56079/viewArticle.aspx?id=123456

我希望文章 id 用于查找相应的评论并以相同的形式使用它们填充网格视图。

查看文章.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>

如果id在 searchComments 方法中是“硬编码”的,则 gridview 将填充正确的条目。

我唯一的问题是将文章ID传递给 searchComments 方法。

  • 我正在考虑一种 <%# %>" 样式的数据绑定方法,但它会非常脏,而且仍然无法正常工作。

    SelectMethod="searchComments(<%# Request.QueryString["id"] %>)"
    
  • 我尝试的另一种方法是在代码隐藏中设置 selectmethod,如下所示:

    ObjectDataSource1.SelectMethod = "searchComments('123456')";
    

    这会导致错误:ObjectDataSource 'ObjectDataSource1' 找不到没有参数的非泛型方法 'searchComments('123456')'。

4

2 回答 2

1

将 QueryStringParameter 直接传递给 SelectParameters - 即:

            <SelectParameters>
                <asp:QueryStringParameter  QueryStringField="id" />
            </SelectParameters>
于 2013-06-21T11:21:01.883 回答
1

您可以QueryStringParameterSelectParameters部分中使用

    <SelectParameters>
            <asp:QueryStringParameter QueryStringField="id" Name="id"/>
    </SelectParameters>
于 2013-06-21T11:21:13.317 回答