Sono ben consapevole che si utilizza di sottolineatura per gli attributi di dati con i trattini ("data_bind" invece di "data-bind", nell'oggetto), e questi vengono automaticamente sostituite con trattini. Ma ho incontrato il problema in cui non è possibile eseguire questa sottolineatura "hack", se l'attributo termina con "nome". Così ho provato entrambi, ma nessuno dei due lavori:Impossibile utilizzare l'attributo di dati che termina con "nome"?
@Html.TextBoxFor(model => model.Street, new { data_encrypted_name = "street" })
@Html.TextBoxFor(model => model.Street, new { @data_encrypted_name = "street" })
Quando osservo il codice HTML che viene generato, per entrambi i casi di cui sopra, esso genera:
<input data-encrypted- id="ViewModel_Street" name="ViewModel.Street" type="text" value="" />
In un primo momento, ho pensato che questo potrebbe avere a che fare con più di sottolineatura/trattini, ma ho provato altri due casi di test, per vedere cosa sarebbe successo, ed entrambi lavoravano bene:
@Html.TextBoxFor(model => model.Street, new { data_encrypted_namme = "street" })
@Html.TextBoxFor(model => model.Street, new { data_name_encrypted = "street" })
Quindi questo problema è sicuramente legato ad avere "nome "alla fine dell'attributo.
sto facendo qualcosa di sbagliato o manca qualcosa, o si tratta di un bug nel modo in cui .NET converte gli attributi?
(Per chiarezza, usiamo Braintree pagamenti, e richiedono l'uso del "nome-dati crittografati" attributo alcuni ingressi, in modo da non possiamo semplicemente selezionare un altro nome dell'attributo.)
Dal 'name' è un attributo HTML valido, che potrebbe essere la causa tuoi problemi ..? – tier1
Hmm, beh, seguendo le linee di questa idea, ho provato data_encrypted_id e data_encrypted_class, ma entrambi hanno funzionato come previsto. Quindi sembra ancora direttamente correlato al "nome" alla fine. Grazie del pensiero! –
Proprio come una FYI, non sono in grado di confermare questo comportamento, VS2012, MVC4, file cshtml su helper Html.TextboxFor. @ Html.TextBoxFor (x => x.TrapNumber, new {data_encrypted_name = "Test"}) viene visualizzato correttamente per me. . Testato anche su TextArea senza problemi. So che questo non affronta il tuo comportamento, ma volevo dare intuizione in quanto non sembra essere un 'bug' quadro per me ... – Tommy