Sto eseguendo il codice del rasoio di seguito in un file .cshtml (è una versione semplificata di qualcosa di più complesso che devo raggiungere), ma l'helper renderTestB
non sembra essere eseguito.Perché un assistente Razor non può chiamare un altro assistente?
@renderTestA("test string 1", "test string 2");
@helper renderTestA(string input1, string input2)
{
<div>
@renderTestB(input1)
@renderTestB(input2)
</div>
}
@helper renderTestB(string input)
{
<p class="test">@input</p>
}
Perché è questo? E c'è un altro modo per ottenere ciò che sto cercando di fare?
Mi rendo conto che potrei duplicare il codice paragrafo all'interno dell'helper renderTestA
, ma ovviamente preferirei una soluzione di codice riutilizzabile.
È buona norma introdurre la logica nelle visualizzazioni? Perché non scrivi un aiuto personalizzato? – Matt
Questa è una pratica rimasta dalle vecchie versioni di MVC. È decisamente meglio utilizzare ora gli helper HTML personalizzati. – br4d
Questo funziona bene per me .. quando dici "non sembra eseguire" vuoi dire che non stai vedendo il risultato che vuoi? forse c'è qualcos'altro che non va, dal momento che questo non è il tuo codice reale, è difficile sapere – JamieD77