我有一个带有文章和评论的小型示例应用程序。 用户可以通过在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>
如果 id 在searchComments方法中为“硬编码”,则网格视图会填充正确的条目。
我唯一的问题是将文章 id 传递给searchComments方法。
我在想一个&lt;%#%&gt;“样式数据绑定方法,但它会非常脏,但它仍然不起作用。
SelectMethod="searchComments(<%# Request.QueryString["id"] %>)"
我尝试的另一种方法是在代码隐藏中设置selectmethod,如下所示:
ObjectDataSource1.SelectMethod = "searchComments('123456')";
导致错误:ObjectDataSource'ObjectDataSource1'找不到没有参数的非泛型方法'searchComments('123456')'。
答案 0 :(得分:1)
将QueryStringParameter直接传递给SelectParameters - 即:
<SelectParameters>
<asp:QueryStringParameter QueryStringField="id" />
</SelectParameters>
答案 1 :(得分:1)
您可以在QueryStringParameter
部分
SelectParameters
<SelectParameters>
<asp:QueryStringParameter QueryStringField="id" Name="id"/>
</SelectParameters>