Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 如何使用动态WHERE子句将gridview绑定到数据源?_Asp.net_Sql_Vb.net_Gridview_Datasource - Fatal编程技术网

Asp.net 如何使用动态WHERE子句将gridview绑定到数据源?

Asp.net 如何使用动态WHERE子句将gridview绑定到数据源?,asp.net,sql,vb.net,gridview,datasource,Asp.net,Sql,Vb.net,Gridview,Datasource,我正在使用Visual Basic for ASP。网 我知道如何仅使用代码隐藏就用数据填充gridview,如下所示 Dim ds as new datasourse Dim da as new dataadaptor Dim con as new SqlConnection Dim cmd as new SqlCommand ... Cmd = "select ticketID, problem_text from problems where support_engineer = " &

我正在使用Visual Basic for ASP。网

我知道如何仅使用代码隐藏就用数据填充gridview,如下所示

Dim ds as new datasourse
Dim da as new dataadaptor
Dim con as new SqlConnection
Dim cmd as new SqlCommand
... 
Cmd = "select ticketID, problem_text from problems where support_engineer = " & Session("Logged_in_user_id")
... 
Gridview1.Datasource = ds
Gridview1.Datasources. DataBind
这很有效,但我的问题是:如何拖放gridview控件,如何在设计时仅使用向导填充gridview,如何定义SELECT语句以仅选择与登录用户id相关的行?请参见上面的sql语句,它使用了我在Page_Load事件中创建的会话变量,但如何在设计模式中使用相同的逻辑?(我不想在代码隐藏中修改datasource控件)

我查看了youtube、google和这个网站,但所有的结果都只是告诉我如何使用所有行或静态条件填充gridview,而不是像我演示的那样使用动态条件


非常感谢您的帮助

您可以尝试替换aspx文件中的表单标记

<form id="form1" runat="server">
<div>
    <asp:SqlDataSource ID="SqlDataSource1" runat="server" 
        ConnectionString="<%$ ConnectionStrings:TestConnectionString %>" 
        SelectCommand="SELECT ticketID, problem_text FROM Tabs WHERE (support_engineer = @Param1)">
        <SelectParameters>
            <asp:SessionParameter Name="Param1" SessionField="Logged_in_user_id" />
        </SelectParameters>
    </asp:SqlDataSource>
    <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="True" 
         DataSourceID="SqlDataSource1">
    </asp:GridView>
</div>
</form>

您可以尝试替换aspx文件中的表单标记

<form id="form1" runat="server">
<div>
    <asp:SqlDataSource ID="SqlDataSource1" runat="server" 
        ConnectionString="<%$ ConnectionStrings:TestConnectionString %>" 
        SelectCommand="SELECT ticketID, problem_text FROM Tabs WHERE (support_engineer = @Param1)">
        <SelectParameters>
            <asp:SessionParameter Name="Param1" SessionField="Logged_in_user_id" />
        </SelectParameters>
    </asp:SqlDataSource>
    <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="True" 
         DataSourceID="SqlDataSource1">
    </asp:GridView>
</div>
</form>

我找到了将gridview绑定到动态会话变量的正确方法,而不涉及代码隐藏:。只需在


我找到了将gridview绑定到动态会话变量的正确方法,而不涉及代码隐藏:。只需在


谢谢,但我得到的是:属性'SessionField'不是元素'Parameter'的有效属性谢谢,但我得到的是:属性'SessionField'不是元素'Parameter'的有效属性