3
我不确定这是可能的。你可以在@Helper中使用@Helper吗?
我有一堆@Helper
的一个视图内,在其它观点:
@helper ViewHelper1()
{
...
}
@helper ViewHelper2()
{
...
}
etc.
我有一个是在视图和其他视图中所用的重复代码:
@if (!(Model.Entity == Model.Enum.One))
{
<td>
@ViewHelper1()
</td>
}
else
{
<td>
@ViewHelper1()
</td>
<td>
@ViewHelper1()
</td>
}
的实际@ViewHelper1
有更复杂的代码,但这并不重要(我认为)。
好吧,既然每个视图有许多@Helper
的(30+看法,10-15 @Helper
的每一个)和<table>
结构是一样的,我不知道如何去在App_Code
创建@Helper
那封装了<td>
结构,然后通过视图的@Helper
。
说:
@helper Table(...)
{
...
}
或者判断这甚至有可能,然后调用它的观点一样,:
@Table(HelperView1)
如果我只是需要帮助的语法。
一如既往,非常感谢。
感谢。我试图找出'Func',并且愚蠢地没有意识到我不需要两个参数。代码示例+1。 –
REMESQ
后续问题:如果我把'@helper Table(...)'放在'App_Code'的一个文件中,然后尝试通过if语句调用'Model.Entity',我显然会得到一个“Can not对空引用执行运行时绑定“。我明白为什么我会得到这个错误,但是有没有解决这个错误的方法?或者它是一个限制?再次感谢你。 – REMESQ
我认为这是将辅助函数放在App_Code中的一个限制,您可以尝试的是将模型通过另一个参数传递给您的'Table',如'@helper Table(动态模型,Func otherHelper)' –
nemesv