Được rồi, vì vậy câu hỏi này đã cũ ... nhưng tôi muốn làm một cái gì đó tương tự và tôi đã tìm thấy một giải pháp phù hợp với tôi. Có lẽ nó có thể giúp người khác.
Tôi có một List
mà tôi điền vào một thả xuống. Tôi muốn đặt lựa chọn đó vào thuộc tính QuestionType
trên đối tượng Question
mà tôi đang tạo trong biểu mẫu. Tôi đang sử dụng
@Html.Hidden["NewQuestion.QuestionTypeJson", Model.NewQuestion.QuestionTypeJson]
0 để chọn ràng buộc. Điều này đặt thuộc tính có thể quan sát được @Html.Hidden["NewQuestion.QuestionTypeJson", Model.NewQuestion.QuestionTypeJson]
1 thành đối tượng QuestionType
khi người dùng chọn một thuộc tính.
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ý cho người có thể quan sát được, tôi đặt trường ẩn thành phiên bản ____ 13-ed 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 Question
, tôi có một trường gọi là
@Html.Hidden["NewQuestion.QuestionTypeJson", Model.NewQuestion.QuestionTypeJson]
5 đượ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 để có được QuestionType
trong đối tượng Question
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]
5 chứa một cái gì đó, nó sẽ giảm dần điều đó và sử dụng nó cho QuestionType
, nếu không nó sẽ chỉ sử dụng những gì trong trường sao lưu.Về cơ bản, tôi đã 'truyền' một đối tượng JavaScript cho mô hình của mình mà không cần sử dụng cuộc gọi
self.QuestionType.subscribe[function[newValue] {
if [newValue !== null && newValue !== undefined] {
document.getElementById['NewQuestion_QuestionTypeJson'].value = JSON.stringify[newValue];
}
}];
0 hoặc self.QuestionType.subscribe[function[newValue] {
if [newValue !== null && newValue !== undefined] {
document.getElementById['NewQuestion_QuestionTypeJson'].value = JSON.stringify[newValue];
}
}];
1. 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]
0, nhưng đó là những gì tôi đang sử dụng ... Làm thế nào tôi có thể chuyển giá trị cho các biến dao cạo từ trang JavaScript trong .cshtml [dao cạo] [ASP.NET MVC C#]?
Một cái gì đó như thế này
@{
int x = 0;
}
var y = 1;
@x = y;
Có thể không? Cảm ơn
Hỏi bởi:- pika
1
: 23577at:- 7/17/2017 3:58:58 PM At:- 7/17/2017 3:58:58 PM
JavaScriptjqueryC#MVCasp-net jquery C# MVC asp-net
Tôi nghĩ rằng câu hỏi của bạn là không chính xác, vui lòng kiểm tra lại trong tiêu đề, bạn đã hỏi 'Làm thế nào để chuyển giá trị dao cạo cho JavaScript' trong khi trong mã ví dụ, bạn đang cố gắng nhận giá trị trong dao cạo từ JavaScript, không thể 00
Bởi: Vikas_jk - tại: - 7/18/2017 7:06:33 AM
Ok, đã cập nhật câu hỏi của tôi, tôi muốn biết về cách chuyển giá trị cho dao cạo từ JavaScript? 00
Bởi: Pika - tại: - 7/18/2017 7:25:34 AM
2 câu trả lời
Điều này là không thể, bạn không thể chuyển giá trị từ JavaScript sang Dao cạo vì cả hai không có mặt cùng một lúc, dao cạo là ngôn ngữ bên máy chủ trong khi JavaScript là khách hàng & NBSP; Ngôn ngữ phụ, dao cạo không còn tồn tại sau khi trang được gửi đến " Phía khách hàng".both are not present at the same time, Razor is server side language while javascript is client side language, razor doesn't exist anymore after the page was sent to the "Client side".
Bạn có thể thay đổi HTML/CSS/JavaScript bằng cách sử dụng các biến Razor & nbsp;, nhưng nó không đúng với ngược lại. & NBSP; Khi máy chủ nhận được yêu cầu xem, nó sẽ tạo chế độ xem chỉ bằng mã HTML, CSS và JavaScript. Không còn mã C#, tất cả đều được "dịch" sang ngôn ngữ phía máy khách.
Bạn có thể kiểm tra nguồn trang của mình từ trình duyệt Bạn sẽ không có bất kỳ mã C# nào, tất cả được chuyển đổi thành HTML, CSS, JavaScript.
2
Tại:- 7/18/2017 7:40:18 AM
OK, tôi đã cố gắng tải giá trị trong @viewbag.theme = localStorage.getItem ['style_color']; nhưng thất bại theo câu trả lời trên của bạn 00
Bởi: Pika - tại: - 10/16/2017 11:49:47 AM
Có thể sử dụng điều này, không phải là một giải pháp thích hợp, nhưng bạn có thể tạo trường ẩn và đặt nó bằng JavaScript, một cái gì đó giống như
@Html.Hidden["MyId", 0];
Và JavaScript sẽ
//Call this using Onbutton click or when you want
function SetHiddenValue[value] {
$['#MyId'].val[value];
}
1
Tại:- 9/5/2017 4:32:22 PM