2010-10-12 60 views
7

Tôi đã nhìn thấy rất nhiều ví dụ sử dụng để tham khảo Url.Content javascript, MasterPages hình thức trong MVC 2.Sử dụng Url.Content trong ASP.net MVC 2.0

<script src="<%: Url.Content("~/Scripts/jquery-1.4.1.min.js") %>" type="text/javascript"></script> 

Nhưng trên runtime Tôi đã có thất bại ,

Compilation Error Description: An error occurred during the compilation of a resource required to service this request. Please review the following specific error details and modify your source code appropriately.

Trình biên dịch thông báo lỗi: CS0103: Tên 'Url' không tồn tại trong ngữ cảnh hiện tại.

Tôi chưa tìm thấy không gian tên Url được khai báo, các hội đồng bổ sung sẽ được sử dụng?

VS2010, IIS 7, ASP.net MVC 2.0

+0

Nếu bạn đưa ra dòng đó, ứng dụng của bạn có chạy đúng không? – awrigley

Trả lời

8

Đảm bảo trang chính của bạn được kế thừa System.Web.Mvc.ViewMasterPage

+0

True! Nó bắt đầu làm việc! –

1

Removed chỉnh sửa, như dấu nháy đơn được coi là ký tự chữ, vì vậy gây 'quá nhiều ký tự trong văn chương' lỗi. Nguyên nhân có khả năng nhất vẫn là lỗi đánh máy, IMHO.

POST ORIGINAL (vẫn đứng lại lớp UrlHelper):

Url.Content(): Url đây là một phương pháp helper, một chút giống như những người giúp đỡ Html hoặc Ajax.

Trong mã, tôi tin rằng các lớp học là:

System.Web.Mvc.UrlHelper

Ie, không gian tên là System.Web.Mvc.

Vì vậy, nó là rất kỳ lạ mà bạn không thể chỉ sử dụng nó nếu, có nghĩa là, bạn thực sự đang sử dụng spec bạn chi tiết ở trên.

+0

Nghiêm túc .. không có lắp ráp System.Web.Mvc.UrlHelper, không có không gian tên như vậy. –

+0

Tôi không nói có. Tôi nói có một lớp được gọi là UrlHelper trong không gian tên System.Web.Mvc. – awrigley

+0

Chỉ một lỗi khác: CS1012: Quá nhiều ký tự trong ký tự chữ, trong cùng một dòng .. Rất lạ .. ( –

2

alex,

thử thêm các phương pháp khuyến nông sau và xem nếu nó có được là bạn thêm bất kỳ

public static partial class HtmlHelperExtensions 
{ 
    public static string Script(this HtmlHelper html, string path) 
    { 
     var filePath = VirtualPathUtility.ToAbsolute(path); 
     HttpContextBase context = html.ViewContext.HttpContext; 
     // don't add the file if it's already there 
     if (context.Items.Contains(filePath)) 
      return ""; 
     return "<script type=\"text/javascript\" src=\"" + filePath + "\"></script>"; 
    } 
} 

sử dụng:

<%=Html.Script("~/Scripts/jquery-1.4.2.min.js")%> 

tôi biết nó sẽ không trả lời câu hỏi của bạn trực tiếp , nhưng sẽ cho phép bạn di chuyển fwd ...

+0

jim, cảm ơn! điều này thực sự chấp nhận được .. nhưng tôi sẽ cố gắng tìm ra tại sao Url.Content chỉ không tồn tại ??? Tôi googling bây giờ, không thể tìm thấy một documenation cho nó .. có lẽ nó thực sự biến mất? –

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