2012-04-03 20 views
3

とLiteralコントロール私は以下を参照してください、String.Formatのを使用して、可変情報とリソース文字列を移入することが可能であることを発見した:ラベル/フォーマットのテキストフィールド

String.Format(Resources.Temp.TempString, Resources.Contact.PhoneSales) 

私が使用して自分のページでこれを表示することができます。

<p><%= String.Format(Resources.Temp.TempString, Resources.Contact.PhoneSales) %></p> 

場合によっては、コンテンツを動的に非表示または表示するラベルまたはリテラル(または任意のコントロール)があります。通常、私はそれらを使用してそれらを設定します:

<asp:Literal ID="Literal1" Text="<%$ Resources:Temp,ContactUs %>" runat="server" /> 

私は今でも、コントロールを使用して同じString.Format機能をしたいと思います。私はDisplay value of Resource without Label or Literal controlを見つけましたが、これは実際には私のために働いていません、それはちょうど '<%= GetGlobalResourceObject( "Messages"、 "ThankYouLabel")%>'(コンテンツではなく、実際の文字列)を書き出します。

UPDATE:私はいくつかのコントロールで動作するソリューションを発見した

:彼らは子コントロールを許可しないよう

<asp:Label runat="server" ID="temp"><%= String.Format(Resources.Temp.TempString, Resources.Contact.PhoneSales) %></asp:Label> 

しかし、これはリテラルコントロールのために動作しません動作します。私はリテラルのコードを生成する点で最もクリーンなので、依然として解決策を模索しているので、リテラルを使い続けることを好むでしょう。

+1

http://stackoverflow.com/questions/9382559/asp-net-expressions-inline-tag-with-string-format/9383420 –

+3

なぜあなたは単純に 'Literal1.Text = GetGlobalResourceObject(" Messages " 、 "ThankYouLabel") 'をコードビハインドファイルに追加しますか? – Candide

+0

Ingenu - 私はそれについて考えました。私はそれを試していないが、私はそれが動作すると思います。しかし、私はそれをコードの背後に適用するというアイデアに逆らっているのですが、どうして、テキストデータとプログラミングを別々にしておくことと何かが関係しているのでしょうか(私が求めていることはフロントエンドでプログラミングしています。 – Chris

答えて

0

私の問題を解決するために、私は実際にコンテンツをどのように表示しているのかをもう一度見てきましたが、普通のHTMLコードの代わりにリテラルとラベルを削除することができました。私の好みの方法<%= ... %>を使用してコンテンツを表示することができます。

2

asp:Literalは、<%= %>構造をサポートしておらず、子コントロール(私は<asp:Literal runat="server"><%= ... %></asp:Literal>のような意味です)を許可していません。

しかし、あなたは、データバインディングを使用している場合、あなたはdata-binding expresions<%# ... %>使用することができますあなたがあなたのコントロールのバインディングの暗黙的または明示的なデータのいずれかが使用されていることを確認する必要があり、この作業を行うには

<asp:Label runat="server" Text="<%# string.Format(...) %>"></asp:Label> 

を。そうでなければ、バインドなしでこのようなコントロールは何も出力しません

この回避策は少し複雑です。 asp:Labelコントロールを使用するか、Textプロパティをコードの背後に設定してください。

0

Literalの代わりにasp:PlaceHolderコントロールを使用できます。
PlaceHolders can子コントロールが含まれています。彼らはまた<%= … %>スタイル「displaying expressions」をサポートします。

関連する問題