2009-05-14 7 views
1

私の.ascx usercontrolでは、web.configに保存した値を使ってリンクを動的に生成しようとしています。userControlsからappSettingsを参照しています

<a href="<%$appSettings.MYPATH%>/file.aspx">link</a> 

、私が実行してみたときに、私はおそらく、比較的マイナーな何かが欠けている知っている

Literal expressions like '<%$appSettings.MYPATH %>' are not allowed. Use <asp:Literal runat="server" Text="<%$appSettings.MYPATH%>" /> instead. 

パーサーエラーが発生します。

答えて

2
 
    <a href="<%= System.Configuration.ConfigurationManager.appSettings("MYPATH") %>">link</a> 

(少なくとも私が使用するIISサーバー上で動作します)。

<a href="<%= System.Configuration.ConfigurationManager.AppSettings["param_name"] %>">Link</a> 
1

Literal1.Text = "<a href='" + appSettings.MYPATH + "'/file.aspx">link</a>" 
4
<%= ConfigurationManager.AppSettings["myKey"] %> 

EDIT後ろに代わり

た.ascx

<asp:Literal ID="Literal1" runat="server"></asp:Literal> 

コードでこれを試してみてください:=

を忘れてはいけません
0

より正確な答えは次となります(残念ながら、それはより冗長です) ASP.Net式はサーバー・タグ内で使用されます。したがって、プレーンhtmlタグで1つを使用する場合は、runat="server"を追加して、式が評価されるサーバー上でタグが処理されるようにする必要があります。

0

はコロンの代わりにドットを使用してrunat="server"を追加します:

<a href="<%$ AppSettings: MYPATH %>/file.aspx">link</a> 

The documentationは、この上の非常に明確ではありません

関連する問題