Làm cách nào để gọi phương thức điều khiển từ JavaScript trong asp net Core?

Khi viết code MVC bạn không thể quên jQuery. jQuery đóng góp đáng kể để làm cho ứng dụng của bạn nhanh hơn

Sau đây là những gì sẽ được thảo luận

  • sử dụng $. được()
  • sử dụng $. bưu kiện()
  • sử dụng $. ajax()
  • sử dụng URL (kiểu JavaScript)

Khi viết mã jQuery, bạn cần lưu ý một điều là bạn cần giảm thiểu việc tải/làm mới trang

http. // blog. mặt trăng. com/Trang chủ/Trang blog?blogid=4

$. phương thức nhận ()

  1. Gọi hành động điều khiển không có tham số

    Bộ điều khiển

    1. chuỗi công khai SaveEmployeeRecord()
    2. {
    3. chuỗi res = "đây là giá trị trả về";
    4. trả về độ phân giải;
    5. }

    Xem.

    1. $. get("/Home/SaveEmployeeRecord",null, hàm (dữ liệu) {  
    2. cảnh báo (dữ liệu);
    3. });

  2. Gọi hành động điều khiển với tham số

    Bộ điều khiển

    1. chuỗi công khai SaveEmployeeRecord(tên chuỗi)
    2. {
    3. chuỗi res = tên;
    4. trả về độ phân giải;
    5. }

    Xem.

    1. $. get("/Home/SaveEmployeeRecord", {name. 'Deepak'}, chức năng (dữ liệu) {  
    2. cảnh báo (dữ liệu);
    3. });

  3. Gọi hành động điều khiển với tham số trả về dữ liệu JSON

    Bộ điều khiển

    1. công khai JsonResult SaveEmployeeRecord(string id,string name)
    2. {
    3. chuỗi this_id = id;
    4. chuỗi this_name = tên;
    5. return Json(mới {id=this_id,name = this_name },JsonRequestBehavior. AllowGet);
    6. }

    Xem.

    1. $. get("/Home/SaveEmployeeRecord", {id. '67', tên. 'Deepak'}, chức năng (dữ liệu) {  
    2. });

$. phương thức đăng ()

Cú pháp và cách sử dụng phương thức post giống như phương thức get. Ở đây thay vì sử dụng từ khóa get, hãy sử dụng từ khóa bài đăng và tất cả những thứ khác đều giống nhau

ASP. NET Core là một khung phát triển web hiện đại của Microsoft. Bạn có thể xây dựng bất kỳ loại dự án nào - lớn hay nhỏ, trong khuôn khổ này. ASP. NET Core dựa trên kiến ​​trúc Bộ điều khiển Chế độ xem Mô hình (MVC) trong đó mọi yêu cầu dựa trên HTTP đều được Bộ điều khiển nắm bắt, sau đó chuyển phản hồi tới Chế độ xem

Trong Chế độ xem, bạn có thể tạo các biểu mẫu, khi gửi, gọi các phương thức Hành động tương ứng của Bộ điều khiển. Nhưng trong quá trình này sẽ có một trang tải lại, tuy nhiên bạn chắc chắn có thể tránh việc tải lại trang này bằng cách sử dụng phương pháp jQuery AJAX

Trong hướng dẫn này, bạn sẽ học cách sử dụng phương thức AJAX của jQuery ( . ajax() ) để gọi một phương thức Hành động trong ASP. NET lõi.

Bạn có thể làm những việc sau đây với. phương thức ajax()

  • 1. Gọi bất kỳ phương thức Hành động nào của Bộ điều khiển
  • 2. Truyền giá trị cho tham số Hành động từ Chế độ xem
  • 3. Nhận phản hồi từ phương thức Hành động và hiển thị nó trên Chế độ xem
  • 4. Tất cả những điều này xảy ra mà không có trang postback

Tạo phương thức Action trên Controller

Tạo một ASP mới. NET Core và tiếp theo, tạo một ASP mới. NET Core Controller được gọi là HomeController bên trong thư mục Controllers

Tạo một phương thức Hành động mới có tên là 'Thêm' bên trong Bộ điều khiển có mã được hiển thị bên dưới

using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc;

namespace jquery_ajax_aspnet_core.Controllers
{
    public class HomeController : Controller
    {
        public IActionResult Index()
        {
            return View();
        }

        [HttpPost]
        public int Add(int number1, int number2)
        {
            return number1 + number2;
        }
    }
}

Phương thức Add Action này khá đơn giản và lấy 2 số làm tham số. Nó tính tổng của những số này và trả về tổng ở cuối.

Tạo mã View và jQuery AJAX

Tạo một ASP mới. NET Core View được gọi là Index. cshtml bên trong thư mục Controllers ➤ Home và thêm mã jQuery sau vào đó.

<script src="https://code.jquery.com/jquery-3.3.1.min.js"></script>
<script type="text/javascript">
    $(document).ready(function () {
        val1 = "5";
        val2 = "2";

        $.ajax({
            type: "POST",
            url: "@Url.Action("Add")",
            data: {number1: val1, number2: val2},
            dataType: "text",
            success: function (msg) {
                console.log(msg);
            },
            error: function (req, status, error) {
                console.log(msg);
            }
        });	
    });
</script>

Giải thích. Tôi định nghĩa 2 biến (val1 và val2) chứa 2 số là 5 và 2. Tiếp theo, tôi đã xác định . ajax() của jQuery để gọi phương thức hành động ‘Add’ được cung cấp trong Bộ điều khiển.

Tôi đã đưa ra các giá trị sau cho nó

  • 1. nhập dưới dạng POST – điều đó có nghĩa là jQuery sẽ tạo HTTP POST loại yêu cầu .
  • 2. url dưới dạng @Url. Action(“Add”) – đó phải là URL mà phương thức Action có thể được gọi tới. Tôi đã sử dụng Url. Action() để tạo URL này dựa trên hệ thống Định tuyến của ứng dụng của tôi.

Mở Khởi động. cs của ứng dụng của bạn và xem các định tuyến được cung cấp bên trong phương thức Configure() . Trong trường hợp của tôi nó là.

app.UseEndpoints(endpoints =>
{
    endpoints.MapControllerRoute(
        name: "default",
        pattern: "{controller=Home}/{action=Index}/{id?}");
});

Điều đó có nghĩa là URL của phương thức Hành động dựa trên định tuyến này sẽ là – /Home/Add

  • 3. dữ liệu dưới dạng {number1. val1, số2. val2} – ở đây tôi cung cấp các giá trị cho tham số của phương thức Hành động là số1 và số2. Các giá trị phải được chỉ định theo cách khóa-giá trị như.

a. số 1. giá trị1

b. số 2. val2

Giả sử bạn có 3 tham số thay vì 2 như ở đây. Sau đó, các giá trị dữ liệu sẽ được chỉ định là

data: {number1: val1, number2: val2, number3: val3},

  • 4. kiểu dữ liệu dưới dạng văn bản – nó chỉ định loại phản hồi mà hành động 'Thêm' sẽ gửi. Phương thức Hành động này gửi phản hồi bằng 'int' nên tôi đã sử dụng 'văn bản'.

Lưu ý rằng nếu phương thức Hành động gửi phản hồi ở bất kỳ loại dữ liệu cơ bản nào như int, float, string, double, bool, v.v. thì hãy chỉ định Kiểu dữ liệu là 'văn bản' cho trong . phương thức ajax() .

  • 5. success() – hàm gọi lại sẽ thực thi nếu. phương thức ajax() thực thi thành công.
  • 6. error() – đây là một hàm gọi lại khác sẽ thực thi nếu có lỗi khi thực thi. phương thức ajax().

Lưu ý rằng trong phương thức gọi lại thành công của tôi, tôi ghi lại tổng các số trên bảng điều khiển như hình bên dưới

success: function (msg) {
    console.log(msg);
}

Tôi đã sử dụng rộng rãi jQuery AJAX khi gọi ASP. NET Core Web API. Bạn có thể xem hướng dẫn này tại Gọi Web API từ jQuery

thử nghiệm

Đã đến lúc thử nghiệm . phương thức ajax() . Vì vậy, hãy chạy ứng dụng của bạn và truy cập URL của phương thức Hành động Chỉ mục.

Vì tôi đã thêm. ajax() trên phương thức hành động Index của Bộ điều khiển gia đình, do đó, URL trong trường hợp của tôi là – http. //máy chủ cục bộ. 51685/

Bây giờ hãy mở cửa sổ giao diện điều khiển và bạn sẽ thấy số 7 (là tổng của 2 số 5 & 2) được in ra. Xem hình ảnh bên dưới

0

Ngoài ra, hãy xem hình ảnh bên dưới hiển thị phản hồi được in trong cửa sổ bảng điều khiển

1

Bạn có thể tải xuống toàn bộ mã của hướng dẫn này từ liên kết bên dưới

Tải xuống

Phần kết luận

Tôi hy vọng bạn thích hướng dẫn này về cách sử dụng jQuery AJAX trong ASP. NET lõi. Lời khuyên chân thành của tôi dành cho bạn là hãy học. ajax() và sử dụng nó để làm cho trang web của bạn thân thiện hơn và nhanh hơn

Làm cách nào bạn có thể gọi một phương thức Bộ điều khiển từ JavaScript?

Cách gọi Phương thức điều khiển từ Javascript .
var xhttp = new XMLHttpRequest();
xhttp. open("POST", "/subscribe/checkout", true);
xhttp. setRequestHeader('Kiểu nội dung', 'ứng dụng/x-www-form-urlencoding');

Làm cách nào để gọi phương thức Bộ điều khiển từ JavaScript với các tham số?

Gọi Hành động của Trình điều khiển với tham số trả về dữ liệu JSON. .
công khai JsonResult SaveEmployeeRecord(id chuỗi, tên chuỗi)
chuỗi this_id = id;
chuỗi this_name = tên;
// thực hiện một số thao tác ở đây
trả lại Json (mới {id=this_id,name = this_name},JsonRequestBehavior. AllowGet);

Làm cách nào để gọi một hàm JavaScript trong asp net core?

Các phương thức NET từ các hàm JavaScript trong ASP. NET Core Blazor. IJSRuntime được đăng ký bởi khung Blazor. Để gọi vào JS từ. .
IJSRuntime. GọiAsync
JSRuntimeExtensions. GọiAsync
JSRuntimeExtensions. GọiVoidAsync

Làm cách nào để gọi phương thức Bộ điều khiển từ JavaScript trong MVC?

Phương thức Hành động của Trình điều khiển sẽ được gọi từ Chế độ xem với sự trợ giúp của Ajax. Phương thức mở rộng BeginForm cho phép gọi phương thức Hành động của Trình điều khiển bằng JavaScript trong ASP. Dao cạo Net MVC.