2011-10-20 32 views
7

Tự động thoát của Razor đang rối tung với tôi. Tôi đang xây dựng một url để nuôi để jquery của phương pháp $ .load:Lực đẩy dao cạo để không thoát khỏi url

<script> 
$("#baz").load('@Url.Action("Method", new { foo=Model.Foo, bar=Model.Bar })'); 
<script> 

Vấn đề là, url là sắp ra trốn trong kịch bản phát ra (& == &)

<script> 
$("#baz").load('Method?foo=Foo&amp;bar=Bar'); 
<script> 

Vì vậy, MVC cuộn cảm trên yêu cầu nói rằng thông số thanh không được cung cấp.

Tôi đã thử gói cuộc gọi lên trong @ Html.Raw nhưng điều đó vẫn dường như thoát khỏi url. Quay lại hành tinh aspx, tôi chỉ làm <% = thay vì <%: nhưng rõ ràng là không tốt ở đây :). Tôi cũng đã thử đặt các tham số trong một đối tượng dữ liệu cho $ .load, nhưng điều đó dường như buộc một bài viết, không phải là một get (và tôi muốn có được ở đây).

Đây là điều tôi có thể khắc phục bằng định tuyến, nhưng dự án này chưa có - vẫn nhận được chức năng mà không bị rối loạn định tuyến. Mặt khác, tôi cần có khả năng cuối cùng định tuyến url này, vì vậy tôi không muốn chỉ mã hóa chuỗi truy vấn.

Mọi suy nghĩ?

+0

Bạn có thể trả lời câu hỏi của riêng bạn, bạn đã nhận được một lỗi? –

+0

Nó nói với tôi rằng tôi phải đợi 8 giờ. – lamont

+0

Ahh, điều đó thật tệ. Bạn nên chuyển nó đến câu trả lời khi bạn có thể. –

Trả lời

14

Tôi chỉ cần chạy một kiểm tra, và dấu và không được mã hóa trong thử nghiệm của tôi sử dụng Html.Raw, như vậy:

@Html.Raw(Url.Action("Method", new { foo = Model.Foo, bar = Model.Bar })) 
Các vấn đề liên quan