2014-09-13 59 views
0

我想知道如何将两个QueryStringParameter从两个不同的页面传递到SelectCommand
如何在SelectCommand中使用两个QueryStringParameter

<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:con %>" SelectCommand="SELECT * FROM [admin_video] where [email protected]_id OR [email protected]_name" > 
    <SelectParameters> 
     <asp:QueryStringParameter Name="c_id" QueryStringField="id1" DbType="Int32"/> 
     <asp:QueryStringParameter Name="c_name" QueryStringField="id2" /> 

    </SelectParameters> 
</asp:SqlDataSource> 

页:1
<a href="page1.aspx?id1=<%# Eval("c_name") %>"
页:1把
<a href="page2.aspx?id2=<%# Eval("c_id") %>"
一切都很好,但是当我使用一个只有它的工作,但是当我使用它都无法正常工作。

回答

1

您需要修改SQL命令是这样的:

SELECT * FROM [admin_video] where c_id=IsNULL(@c_id,c_id) OR c_name=IsNULL(@c_name, c_name) 
+0

我从两个不同的页面传递两个字符串,因为有一些条件。 – 2014-09-13 05:46:29

+0

然后你将需要分享更多关于你的意思是两页。您可以使用第2页中的会话变量,您可以在第2页上阅读 – codebased 2014-09-13 05:59:54

+0

我在我的问题中写道我正在传递来自两个不同页面的'StringPerameter',并且您可以看到'SelectCommand'。数据库的两个属性都在同一个表中但我想匹配其中的一个字符串,因为我在查询中编写了'OR'。用户可以从另外两个具有queryString.Session.So的页面访问该页面,告诉我如果用户想用'ID1'从'Page1'访问这个页面'匹配'C_ID'或''Page2'' ID2'匹配'C_NAME' .. – 2014-09-13 06:07:50

相关问题