2

我想根据我传递带有他的值的特定属性来生成。这就是我想使用帮助器的方式:

<sometag @PossibleHelper(parameter)/>

在 PossibleHelper 做他的事情之后,这可能是结果:

<sometag attributeName="attributeValue"/>

我如何在助手中表达这一点?

@helper PossibleHelper(someType){

    if(condition){
      attributeName="attributeValue"      //this is wrong
    }
}
4

1 回答 1

2

当您使用助手时,它只是常规的剃刀语法。

@helper PossibleHelper(SomeType something) {
    if (condition) {
        <span attributeName="attributeValue">blah</span>
    }
}

您可以设置这样的属性。

@helper PossibleHelper(int something) {
    var attrValue = string.Empty;
    if (true) {
        attrValue = "attributeValue";
    }
    @(string.Format("attribute={0}", attrValue))
}

用法:

<sometag @PossibleHelper(parameter)/>

HtmlHelper仅供参考,如果代码在视图之间共享或有大量逻辑,您还可以创建一个扩展方法可能会更好。

public static class HtmlHelperExtensions
{
    public static MvcHtmlString SomeExtension(this HtmlHelper htmlHelper)
    {
        // ...
    }
}
于 2013-02-27T01:47:47.163 回答