none
webconfigの情報を取得する RRS feed

  • 質問

  •  VisualStudio2010 C#で開発中です。

    フレームワーク4.1、MVCを使ってます。

    Webconfigに記述した情報をaspxで取得したいです。

    アセンブリ参照も追加(System.Configuration.dll)したのですが、値がうまく取得できません。

    以下のようなエラーが出てしまいます。

    CS0201: 割り当て、呼び出し、インクリメント、デクリメント、および新しいオブジェクトの式のみがステートメントとして使用できます。

    【web.config】

    <appSettings>
         <add key="URL" value="http://xxx.xxx.co.jp" />
      </appSettings>

    【index.asp】

    <p><a href="<% System.Configuration.ConfigurationManager.AppSettings["URL"];%>"  target="_blank">■指定サイトOPEN</a></p>

    どこがいけないのかご教授いただけないでしょうか?

    2012年3月30日 2:38

回答

  • aspの方は全然わからないのですが、

    「CS0201: 割り当て、呼び出し、インクリメント、デクリメント、および新しいオブジェクトの式のみがステートメントとして使用できます。」

    このエラーは、「変数や文字列や数値やプロパティがただ書かれているだけ」の時に発生します。

    private void Foo()
    {
        1;  //←ここ。
        string str = "abc";
        str.Length  // ←ここ。
    }

    そしてそれっぽいのは

    <p><a href="<% System.Configuration.ConfigurationManager.AppSettings["URL"];%>"  target="_blank">■指定サイトOPEN</a></p>

    System.Configuration.ConfigurationManager.AppSettings["URL"];

    の部分です。

    どう修正すればいいかはわかりませんがここをどうにかすれば動くと思います。

    • 回答としてマーク 山本春海 2012年4月10日 8:41
    2012年3月30日 3:15
  • <% System.Configuration.ConfigurationManager.AppSettings["URL"];%>

    <%= System.Configuration.ConfigurationManager.AppSettings["URL"];%>

    ではないでしょうか。

    • 回答としてマーク 山本春海 2012年4月10日 8:41
    2012年3月30日 3:19
    モデレータ
  • 既にできたとのことですが、コード表示ブロックの機能であり、expression ですのでstatement終端を表す ; は不要です。

    ついでに言うとASP.NET 式というものもあり

    <a href="<%$ AppSettings: URL %>">

    とも書けます。

    あ… runat="server" も必要か。
    • 編集済み 佐祐理 2012年3月30日 4:38
    • 回答としてマーク 山本春海 2012年4月10日 8:41
    2012年3月30日 4:37

すべての返信

  • aspの方は全然わからないのですが、

    「CS0201: 割り当て、呼び出し、インクリメント、デクリメント、および新しいオブジェクトの式のみがステートメントとして使用できます。」

    このエラーは、「変数や文字列や数値やプロパティがただ書かれているだけ」の時に発生します。

    private void Foo()
    {
        1;  //←ここ。
        string str = "abc";
        str.Length  // ←ここ。
    }

    そしてそれっぽいのは

    <p><a href="<% System.Configuration.ConfigurationManager.AppSettings["URL"];%>"  target="_blank">■指定サイトOPEN</a></p>

    System.Configuration.ConfigurationManager.AppSettings["URL"];

    の部分です。

    どう修正すればいいかはわかりませんがここをどうにかすれば動くと思います。

    • 回答としてマーク 山本春海 2012年4月10日 8:41
    2012年3月30日 3:15
  • <% System.Configuration.ConfigurationManager.AppSettings["URL"];%>

    <%= System.Configuration.ConfigurationManager.AppSettings["URL"];%>

    ではないでしょうか。

    • 回答としてマーク 山本春海 2012年4月10日 8:41
    2012年3月30日 3:19
    モデレータ
  • <a href=" <%= System.Configuration.ConfigurationManager.AppSettings["URL"]%> "

    でした!

    ご教授いただき、ありがとうございました。

    2012年3月30日 4:32
  • 既にできたとのことですが、コード表示ブロックの機能であり、expression ですのでstatement終端を表す ; は不要です。

    ついでに言うとASP.NET 式というものもあり

    <a href="<%$ AppSettings: URL %>">

    とも書けます。

    あ… runat="server" も必要か。
    • 編集済み 佐祐理 2012年3月30日 4:38
    • 回答としてマーク 山本春海 2012年4月10日 8:41
    2012年3月30日 4:37