Làm cách nào để chuyển giá trị từ JavaScript sang Razor?

Đoạn mã trên đi qua trang con và lấy tất cả giá trị từ các thuộc tính và thêm chúng vào từng biến

sau đó tôi có javascript dưới đây. Điều này chấp nhận một mảng các khách hàng ở trên, sau đó được hiển thị trong trình duyệt. Tôi đã thêm một vài dòng lặp lại để chỉ ra rằng nếu mã dao cạo ở trên trả về 10 khách hàng thì thông tin chi tiết về 10 khách hàng đó sẽ được hiển thị trên 10 dòng khác nhau

Bạn đang thiếu một sự hiểu biết cơ bản ở đây. Tôi đã trả lời một phiên bản của câu hỏi này, tuy nhiên tôi không nghĩ rằng bạn đã hiểu sai điểm này

Bạn không thể chuyển bất cứ thứ gì từ javascript sang dao cạo mà không thông qua máy chủ

Đó là bởi vì dao cạo được thực thi phía máy chủ (do đó có c# trong đó). Bộ điều khiển được gọi, lớp đó được khởi tạo, sau đó phương thức được gọi phù hợp với hành động được yêu cầu và sau đó một dạng xem được trả về. Khi chế độ xem được trả về, mã c# trong chế độ xem được thực thi. Khi tất cả mã đã được thực thi, nó sẽ đưa ra trang html trong phản hồi và sau đó javascript sẽ chạy trên máy khách. Để bạn chuyển từ javascript sang dao cạo, bạn sẽ phải đưa ra một yêu cầu mới để đi qua đường dẫn đó ngay từ đầu để cuối cùng quay lại

Được rồi, vì vậy câu hỏi này là cũ. nhưng tôi muốn làm điều gì đó tương tự và tôi đã tìm ra giải pháp phù hợp với mình. Có lẽ nó có thể giúp người khác

Tôi có một

@Html.Hidden("NewQuestion.QuestionTypeJson", Model.NewQuestion.QuestionTypeJson)
0 mà tôi điền vào danh sách thả xuống. Tôi muốn đưa lựa chọn đó vào thuộc tính
@Html.Hidden("NewQuestion.QuestionTypeJson", Model.NewQuestion.QuestionTypeJson)
1 trên đối tượng
@Html.Hidden("NewQuestion.QuestionTypeJson", Model.NewQuestion.QuestionTypeJson)
2 mà tôi đang tạo trong biểu mẫu. Tôi đang sử dụng
@Html.Hidden("NewQuestion.QuestionTypeJson", Model.NewQuestion.QuestionTypeJson)
3 cho liên kết được chọn. Điều này đặt thuộc tính có thể quan sát loại trực tiếp
@Html.Hidden("NewQuestion.QuestionTypeJson", Model.NewQuestion.QuestionTypeJson)
4 thành đối tượng
@Html.Hidden("NewQuestion.QuestionTypeJson", Model.NewQuestion.QuestionTypeJson)
1 khi người dùng chọn một



Tôi có một trường ẩn sẽ giữ đối tượng này

@Html.Hidden("NewQuestion.QuestionTypeJson", Model.NewQuestion.QuestionTypeJson)

Trong đăng ký đối tượng có thể quan sát, tôi đặt trường ẩn thành phiên bản 10 của đối tượng

self.QuestionType.subscribe(function(newValue) {
    if (newValue !== null && newValue !== undefined) {                       
        document.getElementById('NewQuestion_QuestionTypeJson').value = JSON.stringify(newValue);
    }
});

Trong đối tượng

@Html.Hidden("NewQuestion.QuestionTypeJson", Model.NewQuestion.QuestionTypeJson)
2, tôi có một trường tên là
@Html.Hidden("NewQuestion.QuestionTypeJson", Model.NewQuestion.QuestionTypeJson)
2 được điền khi người dùng chọn loại câu hỏi. Tôi sử dụng trường này để lấy
@Html.Hidden("NewQuestion.QuestionTypeJson", Model.NewQuestion.QuestionTypeJson)
1 trong đối tượng
@Html.Hidden("NewQuestion.QuestionTypeJson", Model.NewQuestion.QuestionTypeJson)
2 như thế này

public string QuestionTypeJson { get; set; }

private QuestionType _questionType = new QuestionType();
public QuestionType QuestionType
{
    get => string.IsNullOrEmpty(QuestionTypeJson) ? _questionType : JsonConvert.DeserializeObject(QuestionTypeJson);
    set => _questionType = value;
}

Vì vậy, nếu trường

@Html.Hidden("NewQuestion.QuestionTypeJson", Model.NewQuestion.QuestionTypeJson)
2 chứa nội dung nào đó, nó sẽ giải tuần tự hóa nội dung đó và sử dụng nó cho
@Html.Hidden("NewQuestion.QuestionTypeJson", Model.NewQuestion.QuestionTypeJson)
1, nếu không, nó sẽ chỉ sử dụng nội dung trong trường dự phòng

Về cơ bản, tôi đã 'chuyển' một đối tượng JavaScript vào mô hình của mình mà không sử dụng lệnh gọi

@Html.Hidden("NewQuestion.QuestionTypeJson", Model.NewQuestion.QuestionTypeJson)
7 hoặc
@Html.Hidden("NewQuestion.QuestionTypeJson", Model.NewQuestion.QuestionTypeJson)
8. Bạn có thể làm điều gì đó tương tự như thế này mà không cần sử dụng
@Html.Hidden("NewQuestion.QuestionTypeJson", Model.NewQuestion.QuestionTypeJson)
3, nhưng đó là những gì tôi đang sử dụng

Nó là không thể. Mọi thứ sau @ (mở Dao cạo) được xử lý ở phía máy chủ, trước/trong khi hiển thị trang. JavaScript chỉ thuộc về và tồn tại trên máy khách

Tìm giải pháp trực tuyến. Tôi nên thực hiện cuộc gọi ajax hơn là sử dụng

@Html.Action

Thêm giải pháp của bạn ở đây

 B   I   U   S  small BIG code

@Html.Hidden("NewQuestion.QuestionTypeJson", Model.NewQuestion.QuestionTypeJson)
1  <   >   &  link [^] encode untab case indent outdent

Xem trước 0

thành viên hiện có

hoặc tham gia với chúng tôi

Tải xuống, Bình chọn, Nhận xét, Xuất bản

Email của bạn

Email này đang được sử dụng. Bạn có cần mật khẩu của bạn?

Mật khẩu tùy chọn

Khi trả lời câu hỏi, vui lòng.

  1. Đọc kỹ câu hỏi.
  2. Hiểu rằng tiếng Anh không phải là ngôn ngữ đầu tiên của mọi người, vì vậy hãy khoan dung với lỗi chính tả và ngữ pháp
  3. Nếu một câu hỏi được diễn đạt kém thì hãy yêu cầu làm rõ, bỏ qua nó hoặc chỉnh sửa câu hỏi và khắc phục sự cố. Xúc phạm không được chào đón
  4. Đừng bảo ai đó đọc hướng dẫn. Rất có thể họ có và không nhận được. Đưa ra câu trả lời hoặc chuyển sang câu hỏi tiếp theo
Let's work to help developers, not make them feel stupid.


Nội dung này, cùng với bất kỳ tệp và mã nguồn liên quan nào, được cấp phép theo Giấy phép Mở Dự án Code (CPOL)

Làm cách nào để chuyển biến JavaScript sang Razor?

Bạn không thể . và lý do là chúng không "sống" cùng thời. Các biến Dao cạo là "Biến phía máy chủ" và chúng không còn tồn tại sau khi trang được gửi đến "Phía máy khách". Khi máy chủ nhận được yêu cầu về chế độ xem, nó sẽ tạo chế độ xem chỉ bằng mã HTML, CSS và Javascript.

Làm cách nào để chuyển một giá trị từ biến JavaScript sang biến C# trong asp net?

Bạn có thể lưu giá trị của "tự động hoàn thành" vào trường ẩn hoặc bạn có thể sử dụng phương thức ajax để gọi một hàm c#, để chuyển giá trị từ giao diện người dùng sang giao diện người dùng sau . hoặc trong trường hợp của bạn, hãy sử dụng thuộc tính thuộc tính để thay đổi giá trị. . or in your case use the attrbute property to change the value .

Làm cách nào để truy cập biến JavaScript trong C#?

Truy cập biến JavaScript trên Sự kiện tải trang trong C# .
// Mã javascript