Tôi đã làm việc với ASP.NET MVC và Javascript/jQuery nhiều lần gần đây và dường như tôi đang đi theo hướng mà tôi luôn cần phải vượt qua một số giá trị động "tới" javascript của tôi. Khi kịch bản là ngay trong trang, tôi đã thực hiện một cái gì đó như thế này:Thực tiễn tốt nhất để chuyển dữ liệu từ asp.net-mvc sang javascript
var isEditable = <%=ViewData["editable"]%>
Tôi thích cách này là nhanh chóng & dễ dàng và cũng giống như tôi muốn tiêm một giá trị vào HTML. Nhưng mùi này. Thực sự, thực sự xấu. Và nó phá vỡ định dạng mã và intellisense của Visual Studio, làm cho các kịch bản của tôi khó đọc và dễ hiểu.
Nó đã xảy ra với tôi một giải pháp khác sẽ được truyền dữ liệu của tôi đến một lĩnh vực ẩn, và có tham khảo Javascript mà ...
<input type="hidden" id="editable" value="<%=ViewData["editable"]%>" />
var isEditable = $("#editable").attr("value");
Đây có lẽ là tốt hơn nhiều vì nó giữ cho kịch bản còn nguyên vẹn và sẽ cho phép tôi chuyển nó sang tệp .js bên ngoài. Nhưng một cái gì đó về giải pháp này không có vẻ lý tưởng. hay la chỉ Minh tôi?
Có ai có thể đề xuất giải pháp & các phương pháp hay nhất để chuyển dữ liệu vào tập lệnh của bạn không? Tôi đã đi xuống con đường sai lầm nếu kịch bản của tôi kết thúc rất nhiều dựa vào viewdata từ bộ điều khiển của tôi ở nơi đầu tiên?
Làm thế nào về "kéo" dữ liệu từ mô hình vào một số loại lưu trữ dữ liệu trong bộ điều khiển với AJAX? – Janie
Tôi nghĩ AJAX sẽ quá mức cần thiết trong trường hợp tôi đang đề cập đến ... Kịch bản của tôi thường chỉ cần biết một vài bit dữ liệu từ bộ điều khiển/mô hình (dữ liệu đã có trên trang thực thi ban đầu) để phát hành một cuộc gọi mạng trở lại một bộ điều khiển có vẻ như một chút nhiều. –