2010-11-11 35 views
5

Tôi có một hàm JavaScript như thế này trong ứng dụng ASP.NET MVC 3 của tôi.@ symbol trong khối JavaScript

function Foo() 
{ 
    var url = "@Url.Action("MyAction", "MyController")"; 
    alert(url); 
} 

Tôi nhầm lẫn là tại sao mã trên hoạt động. Tôi đã mong đợi phải trốn thoát @Url.Action(...) bên trong các thẻ <%=?

Trả lời

4

Đây là một tính năng của công cụ xem Razor - nó xử lý chuyển đổi giữa HTML/Javascript và xem server-side của bạn để bạn không cần phải thoát khỏi nó trong hầu hết các trường hợp.

bài đăng blog Xem Scott Guthrie về nó: http://weblogs.asp.net/scottgu/archive/2010/07/02/introducing-razor.aspx

+1

Ah, đó là liên kết tôi đang tìm kiếm. Google không thành công – Phil

2

Có vẻ như bạn đang sử dụng công cụ xem Dao cạo mới.

Edit: Tôi giả định hàm JavaScript được viết bên trong một tập tin view (cshtml)

+0

Thật vậy, đây có phải là một tính năng không? – Senkwe

+0

http://geekswithblogs.net/wildturtle/archive/2010/10/11/exploring-asp.net-mvc-3-razor-view-engine-and-syntax-highlighting.aspx – Phil

+0

Wow, thật là một điều ngạc nhiên thú vị :-) Stumbled về nó hoàn toàn do tai nạn thông qua một lỗi đánh máy! Cảm ơn. – Senkwe

0

Vâng, Nó hoạt động trong các trang xem dao cạo, nhưng IntelliSense không làm việc bên trong "" hoặc '' như xem Webform động cơ.

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