【发布时间】:2011-05-08 11:41:43
【问题描述】:
我一直在使用带有 spark 视图引擎的 Bindings 功能来替换我的很多 Html 辅助方法调用。
我遇到的一个问题是我想定义一个 css 类来传递给辅助方法的匿名字典参数,我通常会这样做:
${Html.EditorFor(x=>x.Username, new{@class = "css-class"})}
将其替换为 spark Binding 如下所示:
绑定:
<element name="Editor">Html.EditorFor(x => x.@For, new {"@*"}) </element>
查看元素:
<Editor For="Password" class="css-class" />
我收到一个错误“命名空间不能直接包含字段或方法等成员”,这是有效的,因为它正在解析为
Output.Write(Html.EditorFor(x => x.Password, new {class="big"}) );
问题显然是我需要使用@class 而不是class。
但是,我不能像这样在 html 属性中指定@class
<Editor For="Password" @class="css-class" />
因为 spark 会忽略它。
我也不能这样指定:
<element name="Editor">Html.EditorFor(x => x.@For, new {@"@*"}) </element>
因为这样通过的每个 html 属性都会以 @ 符号为前缀。
所以我的问题是,如何在使用它初始化字典参数时将class HTML 属性传递给 spark 绑定,以便它不会引发编译器错误?
【问题讨论】:
标签: asp.net-mvc spark-view-engine