Bạn đang tìm cách để người dùng có thể chọn loại truy vấn trong ứng dụng C# MVC của mình bằng cách sử dụng checkbox? Bài viết này sẽ hướng dẫn bạn từng bước cách thực hiện điều đó một cách hiệu quả. Chúng ta sẽ khám phá cách xử lý dữ liệu từ các checkbox và áp dụng logic truy vấn tương ứng. Việc này giúp tạo ra một giao diện người dùng thân thiện và linh hoạt, cho phép người dùng tùy chỉnh các tìm kiếm của họ.
Checkbox là một phần tử giao diện người dùng (UI) cho phép người dùng chọn một hoặc nhiều tùy chọn từ một danh sách. Trong C# MVC, chúng thường được sử dụng trong các biểu mẫu để thu thập thông tin từ người dùng. Việc sử dụng checkbox cho phép người dùng linh hoạt hơn trong việc chọn các tiêu chí tìm kiếm hoặc lọc dữ liệu.
Để bắt đầu, chúng ta cần tạo một View trong C# MVC chứa các checkbox. Mỗi checkbox sẽ đại diện cho một loại truy vấn khác nhau. Ví dụ, một checkbox có thể cho phép tìm kiếm theo mã khách hàng, trong khi một checkbox khác cho phép tìm kiếm theo địa chỉ.
Dưới đây là một ví dụ về View sử dụng cú pháp Razor để tạo các checkbox:
@model IEnumerable<DiskCaçamba.Pedido>
<br/>
<p>
Pesquisar codigo
@using (Ajax.BeginForm("pesquisarCliente", "Consulta", new AjaxOptions { HttpMethod = "Get", InsertionMode = InsertionMode.Replace, UpdateTargetId = "divlistapedido" }))
{
@Html.CheckBox("CbEndereço")
@Html.Label("Endereço")
<br/>
@Html.CheckBox("CbCodigo")
@Html.Label("Codigo")
<br/>
@Html.TextBox("_codigo")
<input type="submit" value="Pesquisar" />
}
</p>
<br/>
@Html.Partial("_Pedido", Model)
@section Scripts {
@Scripts.Render("~/bundles/jqueryval")
}
Trong đoạn mã trên, chúng ta sử dụng @Html.CheckBox
để tạo các checkbox và @Html.Label
để tạo nhãn cho chúng. Lưu ý rằng mỗi checkbox có một tên (ví dụ: "CbEndereço" và "CbCodigo") mà chúng ta sẽ sử dụng để truy cập giá trị của chúng trong Controller.
Sau khi tạo View, chúng ta cần xử lý các checkbox trong Controller. Khi người dùng gửi biểu mẫu, chúng ta sẽ kiểm tra xem checkbox nào được chọn và thực hiện truy vấn tương ứng.
Dưới đây là một ví dụ về Controller xử lý các checkbox:
public ActionResult pesquisarCliente(string _codigo)
{
var r = db.Pedido.AsQueryable();
if (!string.IsNullOrEmpty(_codigo))
{
r = r.Where(n => n.Cliente.Contains(_codigo));
r.OrderBy(n => n.Cliente);
}
if (Request.IsAjaxRequest())
{
return PartialView("_Pedido",r.ToList());
}
return View(r.ToList());
}
Để lấy giá trị của checkbox, bạn có thể sử dụng Request.Form["TênCheckbox"]
. Nếu checkbox được chọn, giá trị sẽ là "true"; nếu không, nó sẽ là null hoặc chuỗi rỗng. Bạn có thể sử dụng các câu lệnh if
để kiểm tra giá trị của các checkbox và xây dựng truy vấn tương ứng.
Sau khi đã lấy được giá trị của các checkbox, chúng ta có thể xây dựng truy vấn dữ liệu dựa trên các giá trị này. Sử dụng các câu lệnh if
và else
để xác định loại truy vấn cần thực hiện.
Ví dụ, nếu cả hai checkbox "CbEndereço" và "CbCodigo" đều được chọn, chúng ta có thể thực hiện một truy vấn kết hợp cả hai điều kiện. Nếu chỉ một trong hai checkbox được chọn, chúng ta sẽ thực hiện truy vấn tương ứng với điều kiện đó. Điều này giúp tạo ra một hệ thống tìm kiếm mạnh mẽ và linh hoạt.
Trong một số trường hợp, bạn có thể muốn người dùng chỉ chọn một loại truy vấn duy nhất. Trong trường hợp này, bạn có thể sử dụng radio button thay vì checkbox. Radio button cho phép người dùng chọn một tùy chọn duy nhất từ một nhóm các tùy chọn.
@Html.RadioButton("Pesquisa", "Codigo") Codigo
@Html.RadioButton("Pesquisa", "Endereco") Endereco
Trong ví dụ trên, @Html.RadioButton
được sử dụng để tạo các radio button. Khi người dùng chọn một radio button, chỉ có giá trị của radio button đó được gửi đến Controller.
Sử dụng checkbox trong C# MVC là một cách tuyệt vời để cho phép người dùng tùy chỉnh các tìm kiếm và truy vấn của họ. Bằng cách xử lý dữ liệu từ các checkbox và áp dụng logic truy vấn tương ứng, bạn có thể tạo ra một giao diện người dùng thân thiện và linh hoạt. Hy vọng rằng hướng dẫn này đã giúp bạn hiểu rõ hơn về cách sử dụng checkbox trong C# MVC.
Bài viết liên quan