2011-01-31 8 views
5

In Il mio progetto <% if (Model.Folders != null){}%> funziona correttamente, quando converto questo codice in formato rasoio, ho ottenuto l'eccezione "Nessun overload per il metodo 'Write' accetta 0 argomenti in MVC3 Razor Formato," sul mioNessun overload per il metodo 'Write' richiede 0 argomenti in MVC3 Razor Format,

Html.RenderPartial(ViewData["abc"] as string, Model); 

sto usando Vista dinamica

+0

Ho anche questo errore su questa riga: '@ {isAlt =! IsAlt;}'. È molto strano, voglio solo attivare la variabile booleana. In precedenza ho dichiararlo '@ {var isAlt = true;}' e utilizzato da qualche parte nel mezzo con 'class =:' che viene usato per file alternate di stile in una tabella "(alt "string.Empty @ isAlt?")" . Ci deve essere un motivo ... – CallMeLaNN

+0

Ho ricevuto la risposta: http://stackoverflow.com/questions/4466469/razor-no-overload-for-method-write-takes-0-arguments – CallMeLaNN

risposta

7

in Razor test if dovrebbe essere come questo:

@if (Model.Folders != null) 
{ 
    <div>@Model.Folders</div> 
} 

e il RenderPartial come questo:

@{Html.RenderPartial(ViewData["abc"] as string, Model);} 

o si potrebbe anche utilizzare il metodo Partial che è equivalente e un po 'più corto:

@Html.Partial(ViewData["abc"] as string, Model) 
+0

quando uso "@ Html.Partial (ViewData ["abc"] come stringa, Modello) ", sto ricevendo il seguente errore" 'System.Web.Mvc.HtmlHelper ' non ha alcun metodo applicabile denominato 'Parziale' ma sembra avere un metodo di estensione da che i metodi di nome. estensione non possono essere spediti in modo dinamico. Prendere in considerazione la fusione gli argomenti dinamici o chiamando il metodo di estensione, senza la sintassi metodo di estensione. \t " –

+0

@amir, la vista non è fortemente tipizzato, quindi non è possibile utilizzare la variabile' model'. Assicurati che la tua vista sia fortemente tipizzata per alcuni tipi di modello: '@model AppName.Models.SomeModel' nella parte superiore della visualizzazione. –

+0

il suo Stongly Typed, ho usato il "@model AppName.Models.SomeModel" –

2

ho avuto lo stesso problema, ho risolto avvolgendo il mio Html.RenderPartial come segue:

 <text> 
     @{ 
      Html.RenderPartial(ViewData["abc"] as string, Model); 
      } 
    </text> 

o

<div> 
@{ 
Html.RenderPartial(ViewData["abc"] as string, Model); 
} 
</div> 
Problemi correlati