gpt4 book ai didi

c# - 在 aspx.cs 文件中更改 gridview 的数据源

转载 作者:太空宇宙 更新时间:2023-11-03 23:07:32 24 4
gpt4 key购买 nike

我想在用户输入文本时将文本框与 gridview 连接,如果名称列包含那些单词,则应检查 gridview 的名称列,然后应显示那些记录。 GridView 已经有 Daatasource2,它现在通过文本框显示所有可用记录我只想显示那些与输入的单词相似的记录。我搜索了很多,但这并没有帮助我得到异常(exception)必须声明标量变量“@abcm”我已经看过这个链接 Must declare the scalar variable "@Name"但它并没有帮助我。这是文本框的 html。

 <%-- <input class="form-control" placeholder="Library Search" name="srch-term" id="srch-term" type="text" />--%>
<div class="input-group-btn">
<asp:LinkButton ID="btnRandom"
runat="server"
CssClass="btn btn-primary"
OnClick="btnsearch_Click" >
<span aria-hidden="true" class="glyphicon glyphicon-search"></span>

这是用于 gridview 的。

<asp:GridView ID="GridView1" runat="server" AllowPaging="True" AutoGenerateColumns="False" DataKeyNames="id" DataSourceID="SqlDataSource2" Height="20px" Width="979px"
style="grid-template-rows:max-content;
scrollbar-arrow-color:aquamarine;
background-color:#ffd800;">
<EmptyDataTemplate>No results found.</EmptyDataTemplate>
<Columns>
<asp:BoundField DataField="Name" HeaderText="Name" SortExpression="Name" />
<asp:BoundField DataField="Date" HeaderText="Date" SortExpression="Date" />
</Columns>
</asp:GridView>

这是两个数据源。

 <asp:SqlDataSource ID="SqlDataSource2" runat="server" ConnectionString="<%$ ConnectionStrings:FYPConnectionString %>" SelectCommand="SELECT * FROM [tblFiles]"></asp:SqlDataSource>
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:FYPConnectionString %>" SelectCommand="SELECT [Name], [Date] FROM [tblFiles] WHERE ([Name] LIKE '%' + @abcm + '%')">

</asp:SqlDataSource>

Datasource2 已经连接到 gridview。

这里是搜索按钮的 aspx.cs 文件代码

 public void btnsearch_Click(object sender, EventArgs e) {
if (abcm.Text == "") { Response.Redirect("Library.aspx"); }

else
{
GridView1.DataSourceID = "SqlDataSource1";
GridView1.DataBind();
}
}

现在附上输出图片 enter image description here

问题是出现异常必须声明标量变量“@abcm”

enter image description here

最佳答案

异常说明了一切。在绑定(bind)之前,您需要将@abcm 定义为SelectParameters

public void btnsearch_Click(object sender, EventArgs e) {
if (abcm.Text == "") { Response.Redirect("Library.aspx"); }

else
{
GridView1.DataSourceID = "SqlDataSource1";
SqlDataSource1.SelectParameters.Add("abcm", abcm.Text);
GridView1.DataBind();
}
}

关于c# - 在 aspx.cs 文件中更改 gridview 的数据源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40671999/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com