【问题标题】:Updating a Data Bound GridView on Button Click在按钮单击时更新数据绑定的 GridView
【发布时间】:2015-05-26 05:03:19
【问题描述】:

所以我有一个绑定到一些数据的 .aspx 页面。我可以运行 LINQ 查询并将其作为 GridView 控件的 SelectMethod 中的 IQueryable 对象返回,它会很好地填充。我要做的是根据从 ListBox 控件中选择的内容填充 GridView。由于数据是绑定的,我无法将 DataSource 设置为等于查询。我可能会想出一种方法来基于公共字符串(这又将基于 ListBox 选择)重新使用 SelectMethod,但这会非常难看。

这是我的 .aspx 页面上的 gridview 控件:

<asp:GridView runat="server" ID="employeesGrid"
    ItemType="Foo.Models.Employee" DataKeyNames="EmployeeID"
    SelectMethod="employeeGrid_GetData"
    AutoGenerateColumns="false">
    <Columns>
        <asp:DynamicField DataField="EmployeeID" />
        <asp:DynamicField DataField="FirstName" />
        <asp:DynamicField DataField="LastName" />
        <asp:DynamicField DataField="CompanyName" />
    </Columns>
</asp:GridView>

这是我在 .cs 中的 SelectMethod:

    public IQueryable<Employee> employeeGrid_GetData()
    {
        FooContext db = new FooContext();
        var query = db.Employees.Where(e => e.CompanyName == "NameOfCompany");
        return query;
    }

加载时填充 GridView 的效果很好,但点击更新对我来说并没有多大作用。

这是我尝试过但不起作用的按钮单击方法。当 GridView 绑定到数据模型时,我收到关于无法使用 DataSource 或 DataSourceId 的错误:

    public void btn_RequestEmployees_Click(object sender, EventArgs e)
    {
        string currentlySelectedEmployer = lstbxEmployers.SelectedValue.ToString();
        FooContext db = new FooContext();
        var query = db.Employees.Where(employee => employee.CompanyName == currentlySelectedEmployer);
        employeesGrid.DataSource = query;
        DataBind();
    }

有什么建议吗?谢谢。

【问题讨论】:

  • 添加了我试过的代码。

标签: c# asp.net linq gridview


【解决方案1】:

试试这样:

public IQueryable<Employee> employeeGrid_GetData()
    {
        string currentlySelectedEmployer = lstbxEmployers.SelectedValue.ToString();
        FooContext db = new FooContext();
        var query = db.Employees.Where(employee => employee.CompanyName == currentlySelectedEmployer);        
        return query;
    }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-27
    相关资源
    最近更新 更多