2009-11-11 4 views
5

Me pregunto si alguien puede ayudar, estoy tratando de cambiar algo de mayúsculas a minúsculas con la primera letra mayúscula, bajo y puedo usar ToTitleCase, pero estoy luchando para poner esto en marcha;Uso de ToTitleCase

<%= Html.Label("rblDeposit." + (i + 1).ToString(), item.Text.ToLowerInvariant())%> 

entiendo que necesito para suministrar una cadena en la ToTitleCase, pero ¿cómo lo hago aplicar esto a item.text parte?

Pensé que podría hacer algo como esto;

<%= Html.Label("rblDeposit." + (i + 1).ToString(), item.Text.ToTitleCase(item.Text))%> 

Gracias

+2

hmm: la documentación de este método dice "Nos reservamos el derecho de hacer que esta API sea más lenta en el futuro". –

Respuesta

8

ToTitleCase se definen en la clase TextInfo, que se puede llegar a través de la corriente CultureInfo:

CultureInfo.CurrentCulture.TextInfo.ToTitleCase(item.Text) 
13

Si no desea utilizar la corriente CultureInfo, se puede utilizar el InvariantCulture estática:

System.Globalization.CultureInfo.InvariantCulture.TextInfo.ToTitleCase(item.Text) 

Espero que ayude.

+0

Hola, la página funciona con esto, sin embargo, antes de usar ToLowerInvariant para cambiarlo a minúsculas, y ahora todo está en mayúsculas, ¿cómo podría reintroducir ToLowerInvariant en esto? Los datos que se extraen son mayúsculas. Gracias – ivor

+1

En mi entender, TitleCase funciona si hay espacios en el texto de entrada. Capitaliza el primer carácter de cada palabra. No debería tener que "bajar" la caja primero antes de convertir a TitleCase. - Espero haber entendido tu pregunta correctamente. –

+2

ToTitleCase es muy probable que no toque las primeras letras de las palabras. En lugar de pasar 'item.Text' a' ToTitleCase', pase 'item.Text.ToLower()' o 'item.Text.ToLowerInvariant()'. – outis