Asp.net 在网格视图中按id获取数据

Asp.net 在网格视图中按id获取数据,asp.net,Asp.net,我有一个论坛线程表,线程名称是一个链接,一旦点击它就会将线程id传递到评论页面,我需要知道如何显示所有通过线程id的评论 已尝试: <asp:SqlDataSource ID="CommentsDataSource" runat="server" SelectCommand="select * from comments where thread_id=@thread_id" > <SelectParameters> <asp:QueryStringPara

我有一个论坛线程表,线程名称是一个链接,一旦点击它就会将线程id传递到评论页面,我需要知道如何显示所有通过线程id的评论

已尝试:

<asp:SqlDataSource ID="CommentsDataSource" runat="server"
SelectCommand="select * from comments where thread_id=@thread_id" >
<SelectParameters>
    <asp:QueryStringParameter Name="@thread_id" QueryStringField="thread_id" Runat="Server" />
</SelectParameters>
</asp:SqlDataSource>

<asp:GridView ID="GridView1" runat="server">
    <Columns>
        <asp:BoundField DataField="comment" HeaderText="Comment" />
    </Columns>
</asp:GridView>

但它不起作用


谢谢

您可以在数据源中使用从查询字符串读取的参数。例如,这里有一个
SqlDataSource
,它使用
thread\u id
querystring参数(假设您的链接导航到类似
Comments.aspx?thread\u id=123

<asp:SqlDataSource ID="CommentsDataSource" runat="server"
    SelectCommand="select * from comments where thread_id=@thread_id" ...>
    <SelectParameters>
        <asp:QueryStringParameter Name="@thread_id" QueryStringField="thread_id" />
    </SelectParameters>
</asp:SqlDataSource>

<asp:GridView ID="CommentsGrid" runat="server"
    DataSourceID="CommentsDataSource" ...


我得到这个错误:无法将类型为“System.Web.UI.WebControl.QueryStringParameter”的对象强制转换为类型为“System.Web.UIControl”。您是否研究了
SqlDataSource
SelectParameters
QueryStringParameter
的工作方式?用谷歌搜索它们以获得大致的想法。不要只是将我的示例代码放到您的应用程序中并期望它在不了解其背后的目的以及如何整合到您的特定业务案例中的情况下工作。您能更新您的问题帖子以显示您迄今为止的尝试吗?更新!我将用谷歌搜索它们,看看我能想出什么。啊。您有几个拼写错误(其中一个是我的错)。不要关闭标记,否则它会忽略内容(在
之前删除
/
)。此外,结束标记应该是
而不是
,我在您尝试该代码后已修复。此外,我正在使用web服务提供对数据库的访问,并且根据严格指示,所有对数据库的访问都必须通过此web服务。