无法在 Spark 视图中使用流畅的 html lambda 表达式

发布于 2024-08-11 09:54:50 字数 1937 浏览 8 评论 0原文

我正在尝试在我的 asp.net mvc 应用程序中使用 Fluent html 和 Spark View 引擎。 我已经分配了正确的基类,添加了程序集,当我执行此操作时。TextBox("MyProperty") 它工作正常。 但是,当我尝试使用 this.TextBox(m=>m.MyProperty) 时,出现以下异常。 知道是什么原因造成的吗?

例外:

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

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

蓝天 2024-08-18 09:54:51

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).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文