Truyền giá trị từ bộ điều khiển sang JavaScript MVC

Trong ứng dụng dựa trên Web, chúng ta luôn cần chuyển giá trị từ chế độ xem sang bộ điều khiển để nhận đầu vào và bộ điều khiển cho chế độ xem để hiển thị đầu ra

View to Controller chia sẻ dữ liệu

Để nhận đầu vào từ người dùng Chúng tôi có các cách sau để truyền dữ liệu từ chế độ xem sang bộ điều khiển

Truyền giá trị từ chế độ xem sang bộ điều khiển bằng Tham số

Trong MVC, chúng ta có thể tìm nạp dữ liệu từ chế độ xem đến 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 ta có thể truy cập những dữ liệu này trong bộ điều khiển

Mã chỉ số. cshtml

		
@{
    Layout = null;
}





    
    Index


    
        
            
                Enter First Name
                
            
             
                Enter Last Name
                
            
             
                
                
            
        
    


		
		

Trong thực tế, tôi đã đặt bộ điều khiển chào mừng và chế độ xem chỉ mục. Vì vậy, tôi đã tạo bộ điều khiển chào mừng và tạo chế độ xem chỉ mục

Tôi đã tìm nạp dữ liệu bằng Tham số

Mã điều khiển tại nhà

		
		using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;

namespace MvcApplication1.Controllers
{
    public class WelcomeController : Controller
    {
        

        public ActionResult Index[String fname_name, String lname_name]
        {
            string fname = fname_name;
            string lname = lname_name;
            Response.Write["Your Full name is= " + fname + " " + lname];

            return View[];
        }

    }
}

		

Bây giờ thực thi mã này

		
		
Figure 1

Đầu ra khi phương thức được đặt là Get

		
		
Figure 2

Đầu ra khi phương thức được đặt là Post

		
		
Figure 3

Như bạn có thể thấy rằng chúng ta có thể tìm nạp dữ liệu trong bộ điều khiển. Vì vậy, sau khi tìm nạp dữ liệu, chúng tôi cũng có thể lưu trữ trong cơ sở dữ liệu

Đối tượng Java được lưu trữ trong mô hình, không thể truy cập được trong các tập lệnh vì nó được thực thi ở phía máy khách

Giải pháp dễ dàng và đơn giản là tuần tự hóa đối tượng trong JSON, thêm nó vào mô hình, truy cập trong Javascript

Bạn cần một cái gì đó như thế này

ObjectMapper objectMapper = new ObjectMapper[];
result.addObject["bpmsn", objectMapper.writeValueAsString[bpmsn]];

Và nó có thể được truy cập trong tập lệnh một cách đơn giản

var bpmnJsonString = '${bpmsn}';
Obj bpmn = JSON.parse[bpmnJsonString];
var bpmnXML = bpmn.textXML; 
alert[bpmnXML]

Hy vọng nó giải quyết vấn đề của bạn

Trong bài viết này, chúng tôi sẽ giải thích cách truyền dữ liệu từ chế độ xem sang bộ điều khiển bằng cách sử dụng ajax trong bộ điều khiển MVC với một ví dụ và mã mẫu. Trong ví dụ này, chúng tôi đang sử dụng sự kiện nhấp vào nút Jquery. khi nhấp chuột, chúng tôi sử dụng Phương thức đăng bài Ajax để gửi [vượt qua] dữ liệu

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. @Mô hình. ID

      
  8. Tên bản ghi. @Mô hình. Tên bản ghi

      
  9. Kỷ lụcChi tiết. @Mô hình. 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 để chuyển giá trị từ bộ điều khiển sang JavaScript trong Spring MVC?

Giải pháp dễ dàng và đơn giản là xếp thứ tự đối tượng trong JSON, thêm nó vào mô hình, truy cập bằng Javascript . Bạn cần một cái gì đó như thế này. ObjectMapper objectMapper = new ObjectMapper[]; . addObject["bpmsn", objectMapper.

Làm cách nào để chuyển giá trị từ bộ điều khiển sang JavaScript?

Chúng ta có thể chuyển một giá trị hoặc đối tượng vào Từ điển và chuyển đổi nó thành đối tượng JSON khóa/giá trị, sau đó chuyển sang giao diện người dùng và chúng ta nên . Json lib để làm điều đó.

Làm cách nào để chuyển giá trị từ bộ điều khiển sang chế độ xem bằng ViewBag?

Để chuyển dữ liệu được nhập mạnh từ Trình điều khiển sang Chế độ xem bằng ViewBag, chúng ta phải tạo một lớp mô hình, sau đó điền một số dữ liệu vào các thuộc tính của nó rồi chuyển dữ liệu đó sang ViewBag bằng lệnh . Và sau đó trong View, chúng ta có thể truy cập dữ liệu của lớp model bằng cách sử dụng ViewBag với thuộc tính được xác định trước. . And then in the View, we can access the data of model class by using ViewBag with the pre-defined property.

Làm cách nào để chuyển thẻ HTML từ bộ điều khiển sang chế độ xem?

Bạn có thể sử dụng ViewBag. YourField hoặc ViewData["YourStringName"] và để truy xuất nó trong Chế độ xem của bạn. Chỉ cần đặt nó ở nơi bạn muốn trước @ như thế này @ViewBag. YourField hoặc @ViewData["YourStringName"].

Chủ Đề