我一直在使用Bindings http://sparkviewengine.com/documentation/bindingsSpark 视图引擎的功能取代了我的很多 Html 帮助器方法调用。
我遇到的一个问题是我想定义一个 css 类来传递给辅助方法的匿名字典参数,我通常会这样做:
${Html.EditorFor(x=>x.Username, new{@class = "css-class"})}
用 Spark Binding 替换它看起来像这样:
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 绑定,以便它不会引发编译器错误吗?