Cách chuyển giá trị từ chế độ xem sang bộ điều khiển trong MVC bằng JavaScript

Có nhiều cách để truyền dữ liệu của lớp Mô hình vào Chế độ xem, sử dụng lớp Trình điều khiển. Trong bài viết này, tôi đang trình bày cách chuyển dữ liệu từ Trình điều khiển sang Chế độ xem bằng cách sử dụng một ví dụ đơn giản. Vì vậy, hãy bắt đầu và chuyển sang Visual Studio 2015 của bạn

Đặt tên cho ASP trống của bạn. NET Web Application và nhấp vào nút OK

Tôi không muốn sử dụng giải pháp đầy đủ dựa trên MVC. Bài viết dựa trên một ví dụ đơn giản, vì vậy chỉ cần chọn một mẫu trống

Thêm một lớp Mô hình bằng cách nhấp chuột phải vào thư mục Mô hình trong Giải pháp

Chọn lớp và đặt tên cho lớp của bạn

Chỉ cần nhập một vài từ của đoạn mã để tự động triển khai thuộc tính và nhấn nút tab có sẵn trên bàn phím hai lần, đây là một cách thực hành tốt khi mã dài

Lớp mô hình Bản ghi công khai chỉ chứa ba thuộc tính mà chúng tôi muốn chuyển đến Chế độ xem

  1. bản ghi lớp công khai
  2. {
  3. công khai int Id { get;
  4. chuỗi công khai  RecordName { get;
  5. public string  RecordDetail { get;
  6. }

Thêm một lớp trình điều khiển bằng cách nhấp chuột phải vào thư mục Bộ điều khiển

Chọn một Bộ điều khiển trống từ danh sách Giàn giáo

Đặt tên có ý nghĩa cho Bộ điều khiển của bạn

Bộ điều khiển đã sẵn sàng. Bằng cách sử dụng ViewBag, chúng tôi có thể chuyển dữ liệu từ Trình điều khiển sang Chế độ xem

ViewBag – ViewBag lấy từ điển dữ liệu dạng xem động.  

Tạo một đối tượng của lớp Mô hình của bạn và giải quyết nó bằng không gian tên

Tôi đã tạo một đối tượng của lớp mô hình và gán nó trong từ điển dữ liệu ViewBag. Gán giá trị cho thuộc tính dựa trên lớp mô hình.  

  1. công khai ActionResult Index[]
  2. {
  3. Bản ghi rec = bản ghi mới
  4. {
  5. Id = 101,
  6. RecordName = "Phiếu thưởng",
  7. RecordDetail = "Cổ phiếu cơ bản"
  8. };
  9. Xem túi. Tin nhắn = rec;
  10. trả về Chế độ xem[];
  11. }

Thêm Chế độ xem cho Hành động lập chỉ mục bằng cách nhấp chuột phải vào hành động đó

Đặt tên cho nó và chọn nút Thêm

Trước hết nhập lớp mô hình

Gán viewbag thành một biến và tất cả các thuộc tính sẽ được đặt đúng chỗ, sử dụng biến và khối Razor.  

  1. @sử dụng PassDatainMVC. người mẫu
  2. @{
  3. Xem túi. Tiêu đề = "Chỉ mục";
  4. }
  5. Truyền Dữ liệu Từ Bộ điều khiển đến Chế độ xem bằng cách sử dụng ViewBag

      
  6. @{
  7. var data = ViewBag. Thông điệp;
  8. }
  9. ID. @dữ liệu. ID

      
  10. Tên bản ghi. @dữ liệu. Tên bản ghi

      
  11. Kỷ lụcChi tiết. @dữ liệu. Kỷ lụcChi tiết

      

Xây dựng và chạy ứng dụng của bạn. Bạn sẽ nhận được Dữ liệu ViewBag


Một cách khác để truyền dữ liệu từ Bộ điều khiển sang Chế độ xem là ViewData. Ngoài ra, một đối tượng kiểu từ điển tương tự như ViewBag. Không có thay đổi lớn nào trong Bộ điều khiển và ViewData chứa các cặp khóa-giá trị

  1. công khai ActionResult Index[]
  2. {
  3. Bản ghi rec = bản ghi mới
  4. {
  5. Id = 101,
  6. RecordName = "Phiếu thưởng",
  7. RecordDetail = "Cổ phiếu cơ bản"
  8. };
  9. ViewData["Message"] = rec;
  10. trả về Chế độ xem[];
  11. }

Truy cập lớp mô hình của bạn khi bạn đang sử dụng ViewData, như hình bên dưới

  1. @sử dụng PassDatainMVC. người mẫu
  2. @{
  3. Xem túi. Tiêu đề = "Chỉ mục";
  4. }
  5. Truyền Dữ liệu Từ Trình điều khiển Tới Chế độ xem bằng cách sử dụng ViewData

      
  6. @{
  7. var data = [Record]ViewData["Message"];
  8. }
  9. ID. @dữ liệu. ID

      
  10. Tên bản ghi. @dữ liệu. Tên bản ghi

      
  11. Kỷ lụcChi tiết. @dữ liệu. Kỷ lụcChi tiết

      

Lưu và chạy dự án của bạn. Bạn sẽ nhận được kết quả mong đợi từ ViewData


Một cách khác để chuyển dữ liệu từ Trình điều khiển sang Chế độ xem có thể là chuyển một đối tượng của lớp mô hình sang Chế độ xem. Xóa mã của ViewData và chuyển đối tượng của lớp mô hình trong chế độ xem trả về

  1. công khai ActionResult Index[]
  2. {
  3. Bản ghi rec = bản ghi mới
  4. {
  5. Id = 101,
  6. RecordName = "Phiếu thưởng",
  7. RecordDetail = "Cổ phiếu cơ bản"
  8. };
  9. quay lại Chế độ xem[rec];
  10. }

Nhập đối tượng ràng buộc của lớp mô hình ở đầu Chế độ xem chỉ mục và truy cập các thuộc tính bằng @Model

  1. @sử dụng PassDatainMVC. người mẫu
  2. @model PassDatainMVC. người mẫu. Ghi
  3. @{
  4. Xem túi. Tiêu đề = "Chỉ mục";
  5. }
  6. Truyền Dữ liệu Từ Trình điều khiển Tới Chế độ xem bằng cách sử dụng Đối tượng Lớp Mô hình

      
  7. ID. @Kiểu mẫu. ID

      
  8. Tên bản ghi. @Kiểu mẫu. Tên bản ghi

      
  9. Kỷ lụcChi tiết. @Kiểu mẫu. Kỷ lụcChi tiết

     

Kết quả mong đợi từ Đối tượng lớp Mô hình được đưa ra

Một cách truyền dữ liệu khác là TempData, chịu trách nhiệm lưu trữ dữ liệu tạm thời

Sau khi hoàn thành yêu cầu tiếp theo; . TempData có nguồn gốc từ TempDataDictinory. Rất hữu ích khi chuyển dữ liệu không nhạy cảm từ phương thức hành động này sang phương thức hành động khác. Như bạn có thể thấy trong ảnh chụp màn hình bên dưới, tôi đã tạo một phương thức Hành động để kiểm tra TempData. TempData chuyển dữ liệu từ phương thức CheckTempData sang phương thức Index

  1. công khai ActionResult CheckTempData[]
  2. {
  3. TempData["data"] = "Tôi là dữ liệu tạm thời để được sử dụng trong yêu cầu tiếp theo";
  4. trả về RedirectToAction["Chỉ mục"];
  5. }

Truy cập TempData trong Chỉ mục. Chế độ xem Chtml được đưa ra

  1. Chào. @TempData["dữ liệu"]

Chạy Ứng dụng và gọi phương thức hành động tương ứng. TempData sử dụng phiên nội bộ để lưu trữ dữ liệu

Tôi hy vọng, bạn thích bài viết này. Hãy theo dõi tôi để biết thêm về ASP. NET MVC, API Web và Microsoft Azure

Làm cách nào để gửi giá trị đầu vào từ chế độ xem tới bộ điều khiển trong MVC?

Truyền giá trị từ chế độ xem sang bộ điều khiển bằng Tham số . Trong Chế độ xem MVC, chúng tôi tạo điều khiển html để lấy đầu vào từ người dùng. Với sự trợ giúp của phần tử tên của điều khiển html, chúng tôi có thể truy cập những dữ liệu này trong bộ điều khiển .

Làm cách nào để chuyển đối tượng từ chế độ xem sang bộ điều khiển trong MVC?

Bạn có thể sử dụng Javascript để tìm ID bản ghi và sau đó lấy div thứ hai theo id của nó . Ví dụ sẽ lấy id NameRecord từ XRecord trong đó X = ID được chuyển. đặt trước var = đặt trước mới { myKit = new ResourceKit[] }; .

Làm cách nào để đăng dữ liệu Javascript lên bộ điều khiển trong MVC?

NHẬN và ĐĂNG Các cuộc gọi tới Phương thức của Trình điều khiển trong MVC .
Ghi chú. Trước khi bắt đầu viết mã, đảm bảo bạn đang sử dụng thư viện jQuery trước tập lệnh GET hoặc POST
NHẬN cuộc gọi với tham số tới Phương thức của Trình điều khiển sẽ trả về dữ liệu JSON
POST gọi tới Phương thức của Trình điều khiển để lưu dữ liệu TextBox [không phải biểu mẫu]

Có bao nhiêu cách chuyển dữ liệu từ chế độ xem sang bộ điều khiển trong MVC?

Blog này sẽ thảo luận về bốn [4] cách phổ biến để truyền dữ liệu từ dạng xem đến bộ điều khiển. Đi qua các đối số đã nhập. đối tượng yêu cầu. Đối tượng bộ sưu tập biểu mẫu.

Chủ Đề