2012-12-10 2 views
5

Utilizzo Visual Studio 2010 Professional per lo sviluppo di un'applicazione nel framework ASP.NET MVC3.Utilizzo di   in Visual Studio 10 ASP.NET MVC3

Mi sono imbattuto in una situazione in cui ho bisogno di avere un carattere di spazio letterale, solitamente ottenuto aggiungendo   (qualcosa di simile) in HTML.

Tuttavia, il programma restituisce un errore in fase di esecuzione.

Come si supera questo problema?

Codice:

<div class="week"> 
    @for (int i = 0; i < 7; i++) 
    { 
     <div class="day"> 
      @weekStartDay.ToString().Substring(0, 3) 
     </div>    
&nbsp; 
     weekStartDay = (DayOfWeek)(((int)weekStartDay + 1) % 7); 
    } 
</div> 

Errore:

c: *** \ Documenti \ Visual Studio 2010 \ Projects \ MvcApplication2 \ MvcApplication2 \ Visualizzazioni \ Home \ Calendar.cshtml (22): CS0201 errore : Solo assegnazione, chiamata, incremento, decremento, e nuove espressioni oggetto può essere usato come una dichiarazione

+1

Messaggio il tuo codice. –

+0

E il tuo errore di runtime –

+0

@KPL ha aggiunto il codice –

risposta

17

modificare il codice per

<div class="week"> 
    @for (int i = 0; i < 7; i++) 
    { 
     <div class="day"> 
      @weekStartDay.ToString().Substring(0, 3) 
     </div>    
     @:&nbsp; 
     weekStartDay = (DayOfWeek)(((int)weekStartDay + 1) % 7); 
    } 
</div> 

@: indica il motore di visualizzazione Razor &nbsp; è testo semplice

+0

ha funzionato, grazie –

1

Se si guarda questo codice in Visual Studio 2012, si vedrà lo stesso identico messaggio di errore.   è sottolineato e il suggerimento mostra questo messaggio.

Il problema è che ci si trova all'interno di un blocco di codice: @{ }. Se si desidera output di testo normale si deve avvolgere all'interno di un elemento HTML come questo:

<span>&nbsp;</span> 

o si deve usare

@:&nbsp; 
0

utilizzare semplicemente aggiungere @: prima & nbsp