2013-02-08 17 views
18

Sto trasmettendo alcune stringhe usando Html.Label (stringhe).Perché Html.Label() non funziona con i punti?

Quando passo un valore con un periodo in esso, emette altro che spazi

Html.Label (società)

esempio <%: Html.Label("Bill Co.")%>

Società è un valore dinamico, funzionerà se il valore è "Bill Co" ma non se è "Bill Co.", l'unica differenza è quel periodo.

dovrei essere in grado di passare qualsiasi stringa ad esso come per HhtmlHelper.Label tramite MSDN

public IHtmlString Label(
     string labelText 
    ) 

Tutte le idee?

+0

perché mircosoft sux – Jogi

risposta

3

Ho usato ToHtmlString() e ho risolto il problema problema.

Grazie

+0

ha usato 'ToHtmlString()' come con 'Html.Label()'? – Nope

+0

Non di per sé <%: company.ToHtmlString()%> – Fabii

3

Quando si utilizza Html.label(), il parametro deve essere un'espressione che identifica la proprietà da visualizzare. Non credo ci sia una proprietà nel tuo modello di nome Bill Co..

è necessario specificare in questo modo:

<%: Html.Label("Name")%> 

o questo:

<%: Html.Label(model => model.Name)%> 

Se avete solo bisogno di emettere un valore costante come etichetta usare il tag <label>:

<label>Bill Co.</label> 
+0

Il suo valore dinamico, funzionerà se il valore è "Bill Co" ma non se è "Bill Co.", l'unica differenza è quel periodo. – Fabii

+1

@Fabii: si sta ancora utilizzando l'helper in modo errato. Non si suppone di usarlo così solo per una stringa costante, in quanto proverà a interpretarlo come un nome di proprietà. Che funzioni se non specifichi un '.' accidentalmente. Ho collegato anche la documentazione che afferma anche che si aspetta un'espressione che identifichi la proprietà da visualizzare. – Nope

14

È inoltre possibile utilizzare

<%= Html.Label("","Bill Co.")%> 

Quando si utilizza Html.label(), il parametro deve essere un'espressione che identifica la proprietà per visualizzare e l'attributo for.

+1

Ciò mi ha risparmiato un sacco di tempo! Grazie. ** Nota: ** Puoi usare questo anche nella sintassi di Razor, cioè '@ Html.Label (" "," Bill Co. ")' - e funzionerà (ovviamente, puoi anche usare le proprietà qui, come: '@ Html.Label (" ", myObj.FirmName)'. Deve solo essere nel campo di applicazione. – Matt

+1

Non posso credere di non averlo mai visto prima ... o quante cose là fuori scompariranno se qualcuno include un periodo nel testo –

Problemi correlati