gpt4 book ai didi

c# - 在带有 LinqDataSource 的 ASP.NET ListView 上,单击搜索按钮时显示数据

转载 作者:太空宇宙 更新时间:2023-11-03 16:53:31 25 4
gpt4 key购买 nike

我有一个带有 LinqDataSource 的 ListView 设置和一个触发搜索功能的按钮。为了避免在page_load上显示数据,我在搜索按钮的Click事件中设置了ListView的DataSourceID,将其绑定(bind)并在LinqDataSource的Selecting事件中设置结果数据。它按我的预期工作,但每次单击搜索按钮时在按钮 Click 事件中设置 DataSourceId 看起来并不漂亮。我怎样才能以更好、更清晰的方式做到这一点?

ASPX代码:

<asp:LinqDataSource ID="LinqDataSource1" runat="server"
ContextTypeName="WebApplication1.DataClasses1DataContext" EntityTypeName=""
TableName="Persons" onselecting="LinqDataSource1_Selecting">
</asp:LinqDataSource>

<asp:ListView ID="ListView1" runat="server" >...</asp:ListView>

<asp:Button ID="Search" Text="Search" runat="server" Click="Search_Clicked"/>

ASPX.CS代码:

protected void Search_Clicked(object sender, EventArgs e)
{
ListView1.DataSourceID = LinqDataSource1.ID;
ListView1.DataBind();
}

protected void LinqDataSource1_Selecting(object sender, LinqDataSourceSelectEventArgs e)
{
//Search Criteria from CheckBoxList and TextBox applied here.
DataClasses1DataContext data = new DataClasses1DataContext();
var query = from result in data.Persons
where result.ID > 2
select result;
e.Result = query;
}

最佳答案

老实说,我认为您的方法没有任何问题,但是,如果您不喜欢它,另一种方法是静态设置 DataSourceID在你的ListView像往常一样标记,但设置 Visible="False" ,并且仅在单击按钮后才使其可见。

关于c# - 在带有 LinqDataSource 的 ASP.NET ListView 上,单击搜索按钮时显示数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3074446/

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