midas06
midas06

Reputation: 2001

Cannot use fluent html lambda expressions in Spark view

I'm attempting to use fluent html and the spark view engine in my asp.net mvc application. I've assinged the proper base class, added the assemblies, and when i do this.TextBox("MyProperty") it works fine. However I get the below exception when i attempt to use this.TextBox(m=>m.MyProperty). Any idea what can be causing this?

Exception:

Dynamic view compilation failed.
c:\Users\Midas\Documents\Visual Studio 2008    \Projects\ChurchMVC\ChurchMVC\Views\Poll\New.spark(6,31): error CS1660: Cannot convert     lambda expression to type 'string' because it is not a delegate type
c:\Users\Midas\Documents\Visual Studio 2008    \Projects\ChurchMVC\ChurchMVC\Views\Poll\New.spark(7,28): error CS1660: Cannot convert     lambda expression to type 'string' because it is not a delegate type

1 using MvcContrib.FluentHtml;
2 using System;
3 using System.Collections.Generic;
4 using System.Linq;
5 using System.Web.Mvc;
6 using System.Web.Mvc.Html;
7 using Microsoft.Web.Mvc;
8 using MvcContrib.FluentHtml.Elements;
9 
10 namespace ChurchMVC.Controllers
11 {
12 
13 [global::Spark.SparkViewAttribute(
14     TargetNamespace="ChurchMVC.Controllers",
15     Templates = new string[] {
16       "Poll\\New.spark",
17       "Layouts\\Application.spark",
18       "Layouts\\TwoColumn.spark",
19       "Layouts\\Base.spark"
20     })]
21 public class View6dda34d85cf14f8d8946e77056f25819 :     Spark.Web.Mvc.SparkView<ChurchMVC.Models.ViewModels.PollViewModel>
22 {
23 
24     public override System.Guid GeneratedViewId
25     { get { return new System.Guid("6dda34d85cf14f8d8946e77056f25819"); } }
26 
27     string BuildArticleBreadcumb(ChurchDAL.Section section)
28 #line 10 "C:\Users\Midas\Documents\Visual Studio 2008\Projects\ChurchMVC\ChurchMVC\Views\Shared\_global.spark"
29 {
30 #line hidden
31         using(OutputScope(new System.IO.StringWriter()))
32         {
33 #line default
34 #line 11 "C:\Users\Midas\Documents\Visual Studio 2008    \Projects\ChurchMVC\ChurchMVC\Views\Shared\_global.spark"
35     if (section == null)
36 #line default

Upvotes: 0

Views: 1093

Answers (1)

queen3
queen3

Reputation: 15501

If you really assigned the proper base class, then this exception usually means that you have invalid property in your lambda expression. Double-check it. You actually didn't show nor your spark view nor the code. But, as an example, if you have

public string Name { get; set; }

and use

this.Hidden(x => x.Name1)

you'll get this error (followed by another exception).

Upvotes: 2

Related Questions