2012-07-04 24 views
5

Tôi muốn sử dụng trình trợ giúp Ajax.ActionLink Html do đó tôi cần thư viện jquery.unobtrusive-ajax.min.js nhưng IE luôn hiển thị lỗi này:ASP.NET MVC 3 và jquery.unobtrusive-ajax.min.js

Microsoft JScript runtime error: Unable to set value of the property 'unobtrusive': object is null or undefined

tôi đã đọc rằng giải pháp là sử dụng jquery.validate.min.js và jquery.validate.unobtrusive.min.js nhưng sau đó tôi không thể nhận ra các cuộc gọi ajax trên phía máy chủ.

Trả lời

20

I've read that the solution is usage of jquery.validate.min.js and jquery.validate.unobtrusive.min.js

Không, 2 tập lệnh đó không liên quan gì đến jquery.unobtrusive-ajax.min.js. Chúng được sử dụng để xác nhận không phô trương. Đối với Ajax. * Người trợ giúp tất cả những gì bạn cần là jQueryjquery.unobtrusive-ajax.min.js (bao gồm trong THAT đơn đặt hàng).

Vì vậy, đối phô trương AJAX bạn cần:

<script src="@Url.Content("~/Scripts/jquery-1.5.1.min.js")" type="text/javascript"></script> 
<script src="@Url.Content("~/Scripts/jquery.unobtrusive-ajax.min.js")" type="text/javascript"></script> 

Nếu bạn muốn sử dụng xác nhận không phô trương, bạn cũng có thể bao gồm 2 kịch bản sau đó (trong RẰNG thứ tự):

<script src="@Url.Content("~/Scripts/jquery.validate.min.js")" type="text/javascript"></script> 
<script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.min.js")" type="text/javascript"></script> 

Một rất điều quan trọng mà bạn nên đảm bảo là bạn đã xóa hoàn toàn mọi dấu vết của Microsoft*.js tập lệnh từ dự án của bạn. Các script này đã lỗi thời và bắt đầu từ ASP.NET MVC 3 không còn được sử dụng theo mặc định. Ngoài ra hãy chắc chắn rằng youhave kích hoạt AJAX không phô trương trong web.config của bạn, nếu không hệ thống sẽ dự phòng để những di sản của Microsoft ajax script:

<appSettings> 
    <add key="webpages:Version" value="1.0.0.0"/> 
    <add key="ClientValidationEnabled" value="true"/> 
    <add key="UnobtrusiveJavaScriptEnabled" value="true"/> 
</appSettings> 
+0

Cảm ơn bạn đã phản hồi. Tôi sử dụng chúng: jquery-1.7.2.min.js, jquery.unobtrusive-ajax.min.js, jquery.validate.min.js, jquery.validate.unobtrusive.min.js, jquery-ui-1.8.20. min.js và tôi đã thiết lập web.config nhưng làm thế nào tôi có thể loại bỏ lỗi này: Lỗi thời gian chạy Microsoft JScript: Không thể đặt giá trị của thuộc tính 'không phô trương': đối tượng là null hoặc không xác định? Bởi vì như tôi biết đó là do jquery.unobtrusive-ajax.min.js. – sada

+0

Xin lỗi. Bạn đa đung. – sada

+2

Cũng xin lưu ý rằng jquery.unobtrusive-ajax.js không tương thích với bất kỳ phiên bản jquery nào cao hơn 1.8.3. jquery 1.8.3 là phiên bản mới nhất tương thích với jquery.unobtrusive-ajax.js. – monstro