2012-03-01 22 views
6

Tôi đang cố gắng tận dụng các mở rộng Helper HTML DisplayFor trong Xem này:MVC Xem: Loại đối số Html helper DisplayFor không thể được suy ra từ việc sử dụng

<%@ Page Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<MvcCms.Web.ViewModels.SubscriptionsViewModel>" %> 

<% using (Html.BeginForm("TrainingSubscription", "Account", FormMethod.Post)) 
    { %> 
<%: Html.DisplayFor(m => m.Subscriptions) %> 
<input type="submit" value="Save" /> 
<% } %> 

với ViewModel sau

namespace MvcCms.Web.ViewModels 
{ 
    public class SubscriptionsViewModel 
    { 
     public string TrainingId { get; set; } 
     public string Subject { get; set; }  
     public IEnumerable<SubscriptionViewModel> Subscriptions { get; set; } 

     public SubscriptionsViewModel(string TrainingId, string Subject, IEnumerable<SubscriptionViewModel> Subscriptions) 
     { 
      this.TrainingId = TrainingId; 
      this.Subject = Subject; 
      this.Subscriptions = Subscriptions; 
     } 
    } 

    public class SubscriptionViewModel 
    { 
     public string ContactId { get; set; } 
     public string FullName { get; set; } 
     public bool Subscribed { get; set; } 

     public SubscriptionViewModel(string ContactId, string FullName, bool Subscribed) 
     { 
      this.ContactId = ContactId; 
      this.FullName = FullName; 
      this.Subscribed = Subscribed; 
     } 
    } 
} 

Nó đem lại cho tôi lỗi này

Những lập luận kiểu cho phương pháp 'System.Web.Mvc.Html.Displ ayExtensions.DisplayFor (System.Web.Mvc.HtmlHelper, System.Linq.Expressions.Expression>) ' không thể suy ra từ việc sử dụng. Thử chỉ định các đối số loại một cách rõ ràng

Tôi không thể tìm ra điều gì sai. Lưu ý rằng tôi có thể truy cập Mô hình theo cách được nhập mạnh mẽ với IntelliSense bật lên trong chế độ xem. Tuy nhiên, IntelliSense không xuất hiện khi tôi gõ biểu thức lambda.

+0

Gần đây tôi đã tìm thấy các quan điểm làm xây dựng tốt và làm việc như được cho là, điều duy nhất là không có cửa sổ bật lên IntelliSense và các dòng/lỗi màu đỏ khó chịu khi thiết lập chế độ xem .. – Brouwer

Trả lời

4

tôi đã nhận nó làm việc bây giờ, vấn đề là các dự án vẫn còn biên soạn với NET v3.5 thay vì v4.0, xem:

https://stackoverflow.com/a/7142200/1232507

+0

Tôi cũng đang gặp phải vấn đề tương tự. Bạn có thể hướng dẫn tôi trong một điều khoản của giáo dân về cách khắc phục vấn đề. Hãy là bước khôn ngoan. Tôi thực sự sẽ đánh giá cao nó. – Unbreakable

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