我試圖利用擴展HTML輔助DisplayFor在這樣的觀點:MVC視圖:類型參數的HTML幫助DisplayFor不能從使用推斷
<%@ 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" />
<% } %>
具有以下視圖模型
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;
}
}
}
它給我這個錯誤
類型參數的方法 「System.Web.Mvc.Html.Displ ayExtensions.DisplayFor(System.Web.Mvc.HtmlHelper,System.Linq.Expressions.Expression>)' 不能從使用情況推斷。嘗試明確指定類型參數
我無法弄清楚什麼是錯的。請注意,我可以以強類型的方式訪問模型,並在視圖中彈出IntelliSense。但是,當我輸入lambda表達式時,智能感知不會彈出。
最近,我盤算了一下意見就建立和罰款按照假定的方式工作,唯一的問題是設置視圖時沒有IntelliSense彈出窗口和令人討厭的紅線/錯誤。 – Brouwer 2012-03-13 09:46:50