当前位置:编程学习 > C#/ASP.NET >>

gridview 动态绑定sqldatasource sqldatasource带参数,如何在gridview更改数据源是传递参数

此处定义两个数据源:第二个带参数
<asp:SqlDataSource ID="NEWSDataSource" runat="server" 
        ConnectionString="<%$ ConnectionStrings:NEWSConnectionString %>" 
        InsertCommand="INSERT INTO [FIRSTLEVELTITLE] ([TITLE], [AUTHOR], [CREATETIME]) VALUES (@TITLE, @AUTHOR, @CREATETIME)" 
        OldValuesParameterFormatString="original_{0}" 
        SelectCommand="SELECT * FROM [FIRSTLEVELTITLE]" 
            DeleteCommand="DELETE FROM [FIRSTLEVELTITLE] WHERE [ID] = @original_ID" 
            UpdateCommand="UPDATE [FIRSTLEVELTITLE] SET [TITLE] = @TITLE, [AUTHOR] = @AUTHOR, [CREATETIME] = @CREATETIME WHERE [ID] = @original_ID">
        <DeleteParameters>
            <asp:Parameter Name="original_ID" Type="Int32" />
        </DeleteParameters>
        <InsertParameters>
            <asp:Parameter Name="TITLE" Type="String" />
            <asp:Parameter Name="AUTHOR" Type="String" />
            <asp:Parameter Name="CREATETIME" Type="DateTime" />
        </InsertParameters>
        <UpdateParameters>
            <asp:Parameter Name="TITLE" Type="String" />
            <asp:Parameter Name="AUTHOR" Type="String" />
            <asp:Parameter Name="CREATETIME" Type="DateTime" />
            <asp:Parameter Name="original_ID" Type="Int32" />
        </UpdateParameters>
    </asp:SqlDataSource>


        <asp:SqlDataSource ID="SqlDataSource1" runat="server" 
            ConnectionString="<%$ ConnectionStrings:NEWSConnectionString %>" 
            DeleteCommand="DELETE FROM [FIRSTLEVELTITLE] WHERE [ID] = @ID" 
            InsertCommand="INSERT INTO [FIRSTLEVELTITLE] ([TITLE], [AUTHOR], [CREATETIME]) VALUES (@TITLE, @AUTHOR, @CREATETIME)" 
            SelectCommand="SELECT * FROM [FIRSTLEVELTITLE] WHERE ([TITLE] LIKE '%' + @TITLE2 + '%')" 
            UpdateCommand="UPDATE [FIRSTLEVELTITLE] SET [TITLE] = @TITLE, [AUTHOR] = @AUTHOR, [CREATETIME] = @CREATETIME WHERE [ID] = @ID">
            <DeleteParameters>
                <asp:Parameter Name="ID" Type="Int32" />
            </DeleteParameters>
            <InsertParameters>
                <asp:Parameter Name="TITLE" Type="String" />
                <asp:Parameter Name="AUTHOR" Type="String" />
                <asp:Parameter Name="CREATETIME" Type="DateTime" />
            </InsertParameters>
            <SelectParameters>
                <asp:Parameter Name="TITLE2" Type="String" />
            </SelectParameters>
            <UpdateParameters>
                <asp:Parameter Name="TITLE" Type="String" />
                <asp:Parameter Name="AUTHOR" Type="String" />
                <asp:Parameter Name="CREATETIME" Type="DateTime" />
                <asp:Parameter Name="ID" Type="Int32" />
            </UpdateParameters>
        </asp:SqlDataSource>
页面加载时:
protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            GridView1.DataSourceID = "NEWSDataSource";
            GridView1.DataBind();
        }
    }

点击搜索按钮时执行:
SqlDataSource1.SelectParameters.Add("TITLE2",keyword.Text.Trim());
        GridView1.DataSourceID = "SqlDataSource1";
        GridView1.DataBind();
结果搜索不到任何结果,也没提示报错,怎么回事啊?初学。net  求点解啊,这可是明天就要交的作业啊 --------------------编程问答-------------------- 是SqlDataSource1.SelectParameters.Add("@TITLE2",keyword.Text.Trim());
--------------------编程问答--------------------
不如手写- - 这种方式我真的很少见到 直接指定数据源- - --------------------编程问答--------------------
引用 2 楼  的回复:
不如手写- - 这种方式我真的很少见到 直接指定数据源- -


我以前也是直接指定的  不过真心看不懂 现在也一样  
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,