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