2009-11-11 1 views
5

誰かが助けることができるかどうか疑問に思っています。キャップの最初の手紙で大文字から小文字に変更しようとしています。私はundertandを使用してToTitleCaseを使用することができます。ToTitleCaseの使用

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

私はToTitleCaseに文字列を入力する必要があることを理解していますが、これをitem.text部分にどのように適用すればよいですか?

私はこのようなことができると思いました。

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

おかげ

+2

hmm - このメソッドのドキュメントには、「私たちは将来このAPIを遅くする権利があります」と述べています。 –

答えて

8

ToTitleCaseあなたが現在CultureInfoを通じて到達できることを、TextInfoクラスで定義されています

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

ToTitleCaseはのTextInfoの方法で、テキストではありません。 CultureInfo.TextInfoからTextInfoを取得します。特に、CultureInfo.CurrentCulture.TextInfoを試してください。

13

あなたは現在のCultureInfoを使用したくない場合は、静的にInvariantCultureを使用することができます。

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

お役に立てば幸いです。

+0

こんにちは、ページはこれで動作しますが、ToLowerInvariantを使用して小文字に変更する前に、すべて大文字になりました。どのようにしてToLowerInvariantをこれに再導入できますか?データは大文字です。ありがとう – ivor

+1

私の理解では、入力テキストにスペースがある場合、TitleCaseは機能します。各単語の最初の文字を大文字にします。 TitleCaseに変換する前に、まずケースを「下げる」必要はありません。 - 私はあなたの質問を正しく理解することを願っています。 –

+2

ToTitleCaseは、最初の文字以外の文字には触れない可能性が非常に高いです。 'item.Text'を' ToTitleCase'に渡すのではなく、 'item.Text.ToLower()'または 'item.Text.ToLowerInvariant()'を渡します。 – outis

関連する問題