gpt4 book ai didi

asp.net-mvc - 具有类 Html 属性的 Spark View 引擎绑定(bind)

转载 作者:行者123 更新时间:2023-12-04 06:41:42 26 4
gpt4 key购买 nike

我一直在使用Bindings spark View 引擎的功能来替换我的很多 Html 辅助方法调用。

我遇到的一个问题是我想定义一个 css 类来传递给辅助方法的匿名字典参数,我通常会这样做:

${Html.EditorFor(x=>x.Username, new{@class = "css-class"})}

将其替换为 spark Binding 如下所示:

绑定(bind):
<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使用它来初始化字典参数以使其不会引发编译器错误时,通过 Spark 绑定(bind)的 HTML 属性?

最佳答案

你的观察是正确的。我相信您的绑定(bind)中的正确语法类似于:

<element name="Editor">Html.EditorFor(x => x.@For, new Dictionary[[string,object]]{{"@*"}}) </element>

代替
<element name="Editor">Html.EditorFor(x => x.@For, new {"@*"}) </element>

这样,您在 View 中附加到标签的任何属性,如果没有按名称专门处理,都将作为名称值对属性传递到呈现的输出中。

我希望我的语法正确,这对你有用吗?

祝一切顺利,

关于asp.net-mvc - 具有类 Html 属性的 Spark View 引擎绑定(bind),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4154999/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com