6

que estoy tratando de hacer uso de la extendida HTML ayudante DisplayFor en esta vista:MVC Vista: Tipo argumentos HTML DisplayFor ayudante no puede deducirse del uso

<%@ 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" /> 
<% } %> 

con el siguiente modelo de vista

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; 
     } 
    } 
} 

me está dando este error

Los argumentos de tipo de método 'System.Web.Mvc.Html.Displ ayExtensions.DisplayFor (System.Web.Mvc.HtmlHelper, System.Linq.Expressions.Expression>) ' no se puede deducir del uso. Intente especificar los argumentos de tipo explícitamente

No puedo entender lo que está mal. Tenga en cuenta que puedo acceder al Modelo de manera fuertemente tipada con IntelliSense apareciendo en la vista. Sin embargo, IntelliSense no está apareciendo cuando estoy escribiendo la expresión lambda.

+0

poco me di cuenta de que los puntos de vista no construyen bien y funciona como se supone, lo único es que no hay ventana emergente de IntelliSense y líneas rojas/errores desagradables al configurar la vista ... – Brouwer

Respuesta

4

Lo tengo trabajo ahora, el problema era que el proyecto aún se compila con la versión 3.5 de .NET en lugar de v4.0, ver:

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

+0

También estoy enfrentando el mismo problema. ¿Puede guiarme en términos sencillos sobre cómo solucionar el problema? Hazte paso sabio Yo realmente lo apreciaría. – Unbreakable

Cuestiones relacionadas