我有一個擴展方法ASP.NET MVC剃刀 - 拉姆達錯誤
public static HelperResult List<T> (this IEnumerable<T> items, Func<T, HelperResult> template) {
return new HelperResult(writer =>{
foreach (var item in items)
template(item).WriteTo(writer);
});
}
當我嘗試用這種方法類似這樣的
<ol>
@Model.List(t=> {@<li>@t.Title</li>});
</ol>
我得到一個錯誤「預計」
但是如果我這樣做
<ol>
@Model.List(@<li>@item.Title</li>)
</ol>
沒關係。 (什麼是變量「item」?它在哪裏定義的?)
爲什麼第一個示例會引發錯誤?
爲什麼我的第一個例子不能工作? – Alexandre 2011-04-10 16:45:43
出於同樣的原因,您不能像常規語句那樣編寫'x =>「abc」;'。在Razor中沒有辦法發佈HTML作爲嵌入語句;你需要將它用作lambda。 – SLaks 2011-04-10 16:48:19