Tôi đang xây dựng trang web ASP.Net MVC. Thay vì có mọi thứ trong một dự án, tôi đã quyết định tách Web, Mô hình và Bộ điều khiển ra thành các dự án khác nhau trong cùng một giải pháp, tham chiếu lẫn nhau.Tại sao tiện ích HtmlHelper của tôi không hoạt động?
Các tham chiếu đi như thế này:
Web --- [tham khảo] ---> điều khiển --- [tham khảo] ---> Mẫu
Bây giờ tôi muốn thêm 2 phương thức tùy chỉnh cho lớp HtmlHelper - chúng được gọi là "IncludeScript" và "IncludeStyle". Mỗi người có một tham số chuỗi đơn và tạo ra một tập lệnh hoặc thẻ liên kết tương ứng.
Tôi đã tạo một lớp người mở rộng, theo tài liệu trên web và viết hai phương pháp và biên soạn ứng dụng.
Bây giờ, khi tôi đi vào trang Public.Master (mà là chính chủ-page của tôi, và một trong những nơi mà tôi có ý định sử dụng các phương pháp), tôi có thể nhập mã như dưới đây:
<%= Html.IncludeScript("\js\jquery.js") %>
Phương thức chọn IntelliSense và phương thức IncludeScript và cho tôi thấy cú pháp tốt. Vì vậy, tôi hy vọng rằng mọi thứ sẽ hoạt động.
Nhưng không.
Tất cả mọi thứ biên dịch, nhưng ngay sau khi tôi chạy các ứng dụng, tôi nhận được lỗi thời gian chạy sau từ dòng 14 của Default.aspx.cs:
c:\\Projects\\PhoneReel\\PhoneReel.Web\\Views\\Shared\\Public.Master(11): error CS0117: 'System.Web.Mvc.HtmlHelper' does not contain a definition for 'IncludeScript'
Đây là dòng mã mà lỗi xảy ra trên:
httpHandler.ProcessRequest(HttpContext.Current);
Bất cứ ý tưởng gì có thể đi sai ở đây?
Bạn có thể dán mã Bao gồm tập lệnh và cũng là dự án mà nó có mặt không? – Ramesh