如何使用 LinqDataSource 过滤(动态)后刷新 gridview?

发布于 2024-09-12 17:54:26 字数 1536 浏览 3 评论 0原文

<asp:GridView ID="GridView2" runat="server" AllowPaging="True"  
    AllowSorting="True" AutoGenerateColumns="False" DataSourceID="LinqDataSource1"> 
    <Columns> 
        <asp:BoundField DataField="UserName" HeaderText="User Name" ReadOnly="True"  
            SortExpression="UserName" /> 
        <asp:BoundField DataField="FullName" HeaderText="Full Name" ReadOnly="True"  
            SortExpression="FullName" /> 
        <asp:BoundField DataField="Email" HeaderText="Email" ReadOnly="True"  
            SortExpression="Email" /> 
       <asp:BoundField DataField="LastLoginDate" HeaderText="Last Login" ReadOnly="True"  
            SortExpression="LastLoginDate" DataFormatString="{0:dd MMMM yyyy}"/> 
       <asp:HyperLinkField Text="Edit" DataNavigateUrlFields="UserId" DataNavigateUrlFormatString="~/Pages/UsersMaintenance/CreateEditUser.aspx?UserId={0}" /> 
    </Columns> 
</asp:GridView> 

<asp:LinqDataSource ID="LinqDataSource1" runat="server" ContextTypeName="MyDataContextDataContext" onselecting="LinqDataSource_Selecting">  
        <WhereParameters>  
           <asp:Parameter Name="Subject" /> 
        </WhereParameters>  
</asp:LinqDataSource> 

 public void LinqDataSource1_Selecting(object sender, LinqDataSourceSelectEventArgs e)
        {
                this.LinqDataSource1.WhereParameters["Subject"].DefaultValue =  this.txtSubject.Text;
               e.Result = reporterRepo.GetInquiries(); 
<asp:GridView ID="GridView2" runat="server" AllowPaging="True"  
    AllowSorting="True" AutoGenerateColumns="False" DataSourceID="LinqDataSource1"> 
    <Columns> 
        <asp:BoundField DataField="UserName" HeaderText="User Name" ReadOnly="True"  
            SortExpression="UserName" /> 
        <asp:BoundField DataField="FullName" HeaderText="Full Name" ReadOnly="True"  
            SortExpression="FullName" /> 
        <asp:BoundField DataField="Email" HeaderText="Email" ReadOnly="True"  
            SortExpression="Email" /> 
       <asp:BoundField DataField="LastLoginDate" HeaderText="Last Login" ReadOnly="True"  
            SortExpression="LastLoginDate" DataFormatString="{0:dd MMMM yyyy}"/> 
       <asp:HyperLinkField Text="Edit" DataNavigateUrlFields="UserId" DataNavigateUrlFormatString="~/Pages/UsersMaintenance/CreateEditUser.aspx?UserId={0}" /> 
    </Columns> 
</asp:GridView> 

<asp:LinqDataSource ID="LinqDataSource1" runat="server" ContextTypeName="MyDataContextDataContext" onselecting="LinqDataSource_Selecting">  
        <WhereParameters>  
           <asp:Parameter Name="Subject" /> 
        </WhereParameters>  
</asp:LinqDataSource> 

 public void LinqDataSource1_Selecting(object sender, LinqDataSourceSelectEventArgs e)
        {
                this.LinqDataSource1.WhereParameters["Subject"].DefaultValue =  this.txtSubject.Text;
               e.Result = reporterRepo.GetInquiries(); 

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

雾里花 2024-09-19 17:54:26

尝试使用它,或者修改它直到它起作用。如果我是对的,我之前做过类似的事情:

public void LinqDataSource1_Selecting(object sender, LinqDataSourceSelectEventArgs e)
{
   this.LinqDataSource1.WhereParameters["Subject"].DefaultValue =  this.txtSubject.Text;
   GridView2.DataBind();
   e.Cancel = true;
}

Try using this, or modify it till it works. If I'm correct I did something like this before:

public void LinqDataSource1_Selecting(object sender, LinqDataSourceSelectEventArgs e)
{
   this.LinqDataSource1.WhereParameters["Subject"].DefaultValue =  this.txtSubject.Text;
   GridView2.DataBind();
   e.Cancel = true;
}
半葬歌 2024-09-19 17:54:26

我的 gridview 在 updatepanel 中,这就是为什么它没有刷新 gridview

 <asp:UpdatePanel....  

my gridview was in updatepanel thats why it was not refreshing the gridview

 <asp:UpdatePanel....  
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文