2011-03-11 45 views
4

該代碼有什麼問題?我從這個主題的標題中得到錯誤。方法'寫'沒有超載需要0個參數

@{ var errors = ViewData.ModelState.Values.Where(x=>x.Errors.Count > 0).ToList();} 

解決,看看@評論

+0

你確定這是發生錯誤的確切位置嗎? – 2011-03-11 19:00:58

+0

是的,我確定。 – Tony 2011-03-11 19:02:54

+1

此代碼是正確的,不應該產生您所看到的錯誤。你能提供圍繞這段代碼的代碼嗎?行號報告可能無法正常工作。 – marcind 2011-03-11 19:04:39

回答

20

裏面一個using語句或其他代碼塊,剃鬚刀預計代碼,而不是標記。
因此,您必須直接放入代碼,而不是在@{ ... }塊中。

剃刀分析器將您的代碼解釋爲@(打印一個空表達式),然後是正常的C#語句塊({ ... })。

您只能使用@{ ... }塊來將代碼放在剃刀所需的位置標記

+1

+1對剃刀新手來說非常有幫助! – Craig 2011-06-09 14:30:48

+1

感謝您的回答。在我的例子中,我在'@using(Html.BeginForm())'裏面有一個'@ {Html.RenderPartial(...)}'。當我把它改成'@ Html.Partial(...)'時,它沒有花括號。 – 2011-07-20 16:00:23

相關問題