2011-03-21 15 views
9

Tam hata metni:Html yardımcıları

The type arguments for method 'System.Web.Mvc.Html.DisplayExtensions.DisplayFor<TModel,TValue>(System.Web.Mvc.HtmlHelper<TModel>, System.Linq.Expressions.Expression<System.Func<TModel,TValue>>)' cannot be inferred from the usage. Try specifying the type arguments explicitly. 

Sadece son zamanlarda ben bu işlevselliği etkileyecek herhangi bir değişiklik yapılmış inanmıyorum rağmen olmaya başladı. VS intellisense hatasını atar, ancak sayfalar düzgün çalışır.

"For" yardımcıları olmayan HTML yardımcıları yalnızca iyi çalışıyor, yalnızca bu ifadeleri içerenler.

kusurlu biçimlendirme (100s 1 örnek):

<%: Html.DisplayFor(model => model.PortfolioName) %>  

Sayfa Yönergesi:

<%@ Page Language="C#" Inherits="ViewPage<My.Namespace.PortfolioViewModel>" %> 

Görünüm Modeli: Aptalca

namespace My.Namespace 
{ 
    public class PortfolioViewModel 
    { 
     [Required(ErrorMessage = " ")] 
     [DataType(DataType.Text)] 
     [DisplayName("Portfolio Name:* ")] 
     public string PortfolioName { get; set; } 
    } 
} 
+0

Ne demek 'Bu derleme üzerinde hata atar, ancak sayfalar düzgün çalışıyor'? Derleme yapamıyorsanız, sayfalar nasıl çalışır? Tasarım modunda sadece bir Visual Studio Intellisense hatası mı? –

+0

Evet, bu doğru. Daha açık olmalıydı. –

+0

Sorunu çoğaltabiliyorum. Tür bağımsız değişkenlerini açıkça belirtmeye çalışırsanız ne olur? – DEHAAS

cevap

4

, biliyorum, ama var VS'yi kapatıp yeniden açmayı denediniz mi?

+0

Oh ya, kapanış/yeniden açmayı, temizlemeyi/yeniden oluşturmayı denedim, tüm referanslarımı kontrol ettim, vb. –

0

Html.DisplayFor yöntemi, belirtilen tür için uygun bir görüntü şablonunu bulacaktır. İstisna biraz garip görünüyor, ancak dize türü için hiçbir görüntü şablonunun kayıtlı olmadığını gösterebilir.

Test amacıyla Html.LabelFor'u denemek isteyebilirsiniz. Dizeler için özel bir ekran şablonunuz var mı?

+1

Ben de aynı sonucu DisplayFor, HiddenFor, TextboxFor, DropDownListFor, vs, vs, –

+0

test projesi. MVC, özel bir ekran şablonu yoksa, ham metni html akışına yazdırır. En azından dize bu durumda. – DEHAAS

2

Daha önce bu soruna rastladığımda, MVC sürümlerini yükselttikten sonra ve web.config referansları düzgün şekilde güncellenmemiştir. Bu, görüntülemelerin HTML uzantı yöntemlerinin eski sürümlerine yapılan göndermelere dayanmakta olduğu anlamına geliyordu.

Referanslarınıza bakın ve sürümün doğru olduğundan emin olun.

+0

Daha yeni bir dönem içinde açıklayabilir misiniz, böylece yeni başlayanlar da bu sorunu çözebilir. Lütfen ayrıntılı lütfen. – Unbreakable

İlgili konular