2012-07-02 23 views
29

Có thể không?sử dụng biến javascript trong MVC3 Công cụ xem dao cạo

@Html.ActionLink("Link text", "Action Name", new { id = *JAVASCRIPT VARIABLE* }) 

Vui lòng giải thích với mã ví dụ.

+0

Không, không thể. Chính xác những gì bạn đang cố gắng để làm? –

+1

Thực ra tôi cần truyền một tham số mà tôi nhận được từ javascript. Làm thế nào tôi có thể giải quyết vấn đề của tôi. –

Trả lời

15

Không nó không phải là có thể, bởi vì NET MVC 3 là mã phía máy chủ và được đánh giá trước khi được gửi cho khách hàng, và javascript là khách hàng mã phía mà chỉ chạy khi nó là ON client

NHƯNG ngược lại là có thể:

var jsVar = "@yourMvcVar"; 
+5

có thể với một số công việc xung quanh .. xem câu trả lời của tôi – krilovich

73

Nó thực sự là rất nhiều khả năng như sau:

var hello = "Great Job!"; 

var text = "@Html.ActionLink("Link text", "Action Name", new { id = "JSVar" })" 
text = text.replace("JSVar",hello); 

Dễ như vậy! :)

Tất cả liên kết @ Html.Action đều tạo chuỗi url để thay thế trên nó giống như thay thế trên bất kỳ chuỗi javascript nào

+5

Giải pháp tốt! Chỉ cần đảm bảo rằng mã thay thế là mạnh mẽ, có thể áp dụng một cách tiếp cận kiểu string.Format: 'var text =" @ Html.ActionLink ("Văn bản liên kết", "Tên hành động", mới {id = "{0}"}) ";" không chắc chắn nếu {0} sẽ làm việc trong helper đó, nhưng bạn nhận được trôi dạt của tôi –

+4

Tôi chấp nhận câu trả lời này thay vì một trong những chấp nhận ngay bây giờ. –

Các vấn đề liên quan