2014-05-15 9 views
6

Sto utilizzando ASP.NET MVC con AngularJs. Sono nuovo di AngularJs, sto cercando di creare un modulo che usi angularjs.Utilizzo di attributi angolari con TextBoxFor in ASP.NET MVC

Quindi, per cominciare, ho un modulo di accesso che richiede nome utente e password.

Il nome utente utilizzando Html.TextBoxFor come mostrato sotto

@Html.TextBoxFor(m => m.UserName, new { ng-model="user.name" }) 

Ma l'ide mostra la ng-model come un errore in rosso. e dà un errore quando viene eseguito con questa modifica.

Messaggio di errore

conto/login - c: \ SVN Home \ ABC-SelfServe \ src \ ABC \ Web \ Visualizzazioni \ Account \ Login.cshtml (23): l'errore CS0746: non valido membro tipo anonimo dichiaratore. I membri di tipo anonimo devono essere dichiarati con un'assegnazione membro, un nome semplice o un accesso membro.

Fino ad ora ogni volta che dovevo includere attributi html che ero solito fare così e che funzionava. Quale sintassi ho usato per includere gli attributi angolari ng-.... con il rasoio TextBoxFor?

risposta

19

Il - in new { ng-model="user.name" } non è valido C#. Cambialo in ng_model e MVC convertirà il trattino basso in un trattino in uscita.

+0

rasoio converte ogni _ in - negli attributi html di Helper? –

+0

Sì, ha funzionato. Grazie. Mi sono reso conto che non serviva usare 'Html.TextboxFor' o un aiutante simile al rasoio quando si utilizzava l'angolare. Ora sto usando html normale con angolare. Grazie ancora. – Yasser

+1

Sì. È una scorciatoia perché i caratteri di sottolineatura non sono effettivamente validi negli attributi. Può anche risolvere questo problema usando un sovraccarico dell'helper che prende un Dizionario invece di un oggetto. –

Problemi correlati