Syncfusion.AspNetMvc.QueryBuilder 34.1.31

Prefix Reserved
dotnet add package Syncfusion.AspNetMvc.QueryBuilder --version 34.1.31
                    
NuGet\Install-Package Syncfusion.AspNetMvc.QueryBuilder -Version 34.1.31
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Syncfusion.AspNetMvc.QueryBuilder" Version="34.1.31" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Syncfusion.AspNetMvc.QueryBuilder" Version="34.1.31" />
                    
Directory.Packages.props
<PackageReference Include="Syncfusion.AspNetMvc.QueryBuilder" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Syncfusion.AspNetMvc.QueryBuilder --version 34.1.31
                    
#r "nuget: Syncfusion.AspNetMvc.QueryBuilder, 34.1.31"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Syncfusion.AspNetMvc.QueryBuilder@34.1.31
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Syncfusion.AspNetMvc.QueryBuilder&version=34.1.31
                    
Install as a Cake Addin
#tool nuget:?package=Syncfusion.AspNetMvc.QueryBuilder&version=34.1.31
                    
Install as a Cake Tool

Syncfusion® ASP.NET MVC QueryBuilder Component

A UI component for building complex SQL-like queries through an intuitive rule editor. Ideal for filter builders, report configurators, and search interfaces without requiring manual query syntax entry.

Key Features

  • Visual condition builder with groups and rules
  • Supports all common operators: equal, not equal, contains, starts with, between, etc.
  • Generates SQL, MongoDB, and JSON query outputs
  • Import existing query rules back into the UI
  • Custom templates for rule value inputs
  • Integration with DataGrid and other data components
  • Accessibility and keyboard navigation

Common Setup

These setup steps are required only once for your application, regardless of which Syncfusion components you use.

1. Install Base NuGet Package

Install-Package Syncfusion.AspNetMvc.QueryBuilder

2. Add Namespace Reference

Edit Web.config under the Views folder and add the Syncfusion.EJ2 namespace:

<namespaces>
    <add namespace="Syncfusion.EJ2"/>
</namespaces>

3. Add Stylesheet & Script References

In your layout file (~/Views/Shared/_Layout.cshtml), add the following in the <head> section:

<head>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>@ViewBag.Title - Syncfusion Application</title>
    
    
    <link rel="stylesheet" href="https://cdn.syncfusion.com/ej2/34.1.31/fluent2.css" />
    
    
    <script src="https://cdn.syncfusion.com/ej2/34.1.31/dist/ej2.min.js"></script>
</head>

4. Register Script Manager

At the end of the <body> tag in your layout file (~/Views/Shared/_Layout.cshtml):

<body>
    @RenderBody()
    
    
    @Html.EJS().ScriptManager()
</body>

Quick Start

Step 1: Add ASP.NET MVC QueryBuilder control

Add the Syncfusion® ASP.NET MVC QueryBuilder control ~/Views/Home/Index.cshtml page:

@model List<QueryBuilderSample.Controllers.EmployeeView>

@Html.EJS().QueryBuilder("querybuilder").Width("72%").Columns(col =>
{
   col.Field("EmployeeID").Label("Employee ID").Type("number").Add();
   col.Field("FirstName").Label("First Name").Type("string").Add();
   col.Field("TitleOfCourtesy").Label("Title Of Courtesy").Type("boolean").Values(new List<string> { "Mr.", "Mrs." }).Add();
   col.Field("Title").Label("Title").Type("string").Add();
   col.Field("HireDate").Label("Hire Date").Type("date").Format("dd/MM/yyyy").Add();
   col.Field("Country").Label("Country").Type("string").Add();
   col.Field("City").Label("City").Type("string").Add();
}).DataSource(Model).Render()

Step 2: Create controller ~/Controllers/HomeController.cs

public class HomeController : Controller
{
    public ActionResult Index()
    {
        return View(EmployeeView.GetAllRecords());
    }
}
public class EmployeeView
{
    public EmployeeView()
    {

    }
    public EmployeeView(int EmployeeID, string FirstName, string LastName, string Title, DateTime BirthDate, DateTime HireDate, int ReportsTo, string Address, string PostalCode, string Phone, string City, string Country)
    {
        this.EmployeeID = EmployeeID;
        this.FirstName = FirstName;
        this.LastName = LastName;
        this.Title = Title;
        this.BirthDate = BirthDate;
        this.HireDate = HireDate;
        this.ReportsTo = ReportsTo;
        this.Address = Address;
        this.PostalCode = PostalCode;
        this.Phone = Phone;
        this.City = City;
        this.Country = Country;

    }
    public int EmployeeID { get; set; }
    public string FirstName { get; set; }
    public string LastName { get; set; }
    public string Title { get; set; }
    public DateTime BirthDate { get; set; }
    public DateTime HireDate { get; set; }

    public int ReportsTo { get; set; }

    public string Address { get; set; }
    public string PostalCode { get; set; }
    public string Phone { get; set; }
    public string City { get; set; }
    public string Country { get; set; }
    public static List<EmployeeView> GetAllRecords()
    {
        List<EmployeeView> Emp = new List<EmployeeView>();
        Emp.Add(new EmployeeView(1, "Nancy", "Davolio", "Sales Representative", new DateTime(1948, 12, 08), new DateTime(1992, 05, 01), 2, "507 - 20th Ave. E.Apt. 2A ", " 98122", "(206) 555-9857 ", "Seattle ", "USA"));
        Emp.Add(new EmployeeView(2, "Andrew", "Fuller", "Vice President, Sales", new DateTime(1952, 02, 19), new DateTime(1992, 08, 14), 4, "908 W. Capital Way", "98401 ", "(206) 555-9482 ", "Kirkland ", "USA"));
        Emp.Add(new EmployeeView(3, "Janet", "Leverling", "Sales Representative", new DateTime(1963, 08, 30), new DateTime(1992, 04, 01), 3, " 4110 Old Redmond Rd.", "98052 ", "(206) 555-8122", "Redmond ", "USA "));
        Emp.Add(new EmployeeView(4, "Margaret", "Peacock", "Sales Representative", new DateTime(1937, 09, 19), new DateTime(1993, 05, 03), 6, "14 Garrett Hill ", "SW1 8JR ", "(71) 555-4848 ", "London ", "UK "));
        Emp.Add(new EmployeeView(5, "Steven", "Buchanan", "Sales Manager", new DateTime(1955, 03, 04), new DateTime(1993, 10, 17), 8, "Coventry HouseMiner Rd. ", "EC2 7JR ", " (206) 555-8122", "Tacoma ", " USA"));
        Emp.Add(new EmployeeView(6, "Michael", "Suyama", "Sales Representative", new DateTime(1963, 07, 02), new DateTime(1993, 10, 17), 2, " 7 Houndstooth Rd.", " WG2 7LT", "(71) 555-4444 ", "London ", "UK "));
        Emp.Add(new EmployeeView(7, "Robert", "King", "Sales Representative", new DateTime(1960, 05, 29), new DateTime(1994, 01, 02), 7, "Edgeham HollowWinchester Way ", "RG1 9SP ", "(71) 555-5598 ", "London ", " UK"));
        Emp.Add(new EmployeeView(8, "Laura", "Callahan", "Inside Sales Coordinator", new DateTime(1958, 01, 09), new DateTime(1994, 03, 05), 9, "722 Moss Bay Blvd. ", "98033 ", " (206) 555-3412", "Seattle ", "USA "));
        Emp.Add(new EmployeeView(9, "Anne", "Dodsworth", "Sales Representative", new DateTime(1966, 01, 27), new DateTime(1994, 11, 15), 5, "4726 - 11th Ave. N.E. ", "98105 ", "(71) 555-5598 ", " London", "UK "));
        return Emp;
    }
}

Step 3: Run the Application

Press Ctrl+F5 to run the application in your browser.

Documentation

Support

License

This is a commercial product and requires a paid license for possession or use. Review the Syncfusion® EULA

About Syncfusion®

Syncfusion® provides 1600+ UI components and frameworks for web, mobile, and desktop development across multiple platforms:

Web:  BlazorASP.NET MVCASP.NET MVCJavaScriptAngularReactVue

Mobile:  FlutterMAUIUWP

Desktop:  WinFormsWPFWinUI

Learn more at www.syncfusion.com

sales@syncfusion.com | Toll Free: 1-888-9-DOTNET

Product Compatible and additional computed target framework versions.
.NET Framework net462 is compatible.  net463 was computed.  net47 was computed.  net471 was computed.  net472 was computed.  net48 was computed.  net481 was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
34.1.31 80 7/14/2026
34.1.30 85 7/9/2026
34.1.29 120 7/6/2026