0

asp.netmvcアプリケーションで流暢なhtmlとsparkviewエンジンを使用しようとしています。適切な基本クラスを割り当て、アセンブリを追加しました。これを行うと、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
4

1 に答える 1

2

実際に適切な基本クラスを割り当てた場合、この例外は通常、ラムダ式に無効なプロパティがあることを意味します。再確認してください。実際には、スパークビューもコードも表示されませんでした。しかし、例として、あなたが持っている場合

public string Name { get; set; }

と使用

this.Hidden(x => x.Name1)

このエラーが発生します(その後に別の例外が発生します)。

于 2009-11-16T10:15:39.543 に答える