Web.Config 是必须要的,在里面定义了错误类的属性,你把文件放回去!
解决方案 »
- 怎样用JQuery从后台获取数据绑定到 HTML 标签 select 上?
- sap.net后台使用Response.Write("<script>confirm('是否添加')</script>如果点否就不执行后面的代码,怎样实现,谢谢
- 基础知识求解释,,,,,
- 如何取得母版页中的变量
- TextBox控件的问题
- 老问题,存储过程分页
- 为什么Page没有viewstate属性
- 請問怎樣在datagrid中的header或footer中顯示自定義的文字?
- 送分的问题
- 关于显示用CSS定义的背景图片,在虚拟目录下显示不出来的解决办法?
- 数据源是存储过程的DataGrid的分页问题??????
- 今天偶然发现的一个问题,200分,大家一起看一下
Web.Config とはASP.NET でアプリケーションを記述するときは、この Web.Config の中にさまざまな定義を記述します。基本的な記述、たとえば Encoding などはすでに用意されていますので、以下のような記載で変更することが可能です。<configuration>
<system.web>
<globalization requestEncoding="utf-8" responseEncoding="utf-8" />
</system.web>
</configuration>この記述は、Web アプリケーションがデータの受け取り、出力ともに UTF-8 を使うということを記載していることになります。このあたりは、SDK やヘルプを見ればすぐにわかります。では、独自にアプリケーションが使う設定を記述する方法はできるのでしょうか?ということで、1つのサンプルをご紹介します。これは、ASP.NET Forums でも使われているテクニックです。独自の設定項目を追加するではこのような記述をして、アプリケーションから読み出すためにはどうしたらいいのでしょうか?そのためのクラスが用意されています。たとえば、以下のような記述をして、Web.Config の中に独自の設定項目を入れてみましょう。<configuration>
<configSections>
<section name="UsersSettings" type="System.Configuration.NameValueFileSectionHandler, System, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
</configSections>
<system.web>
...
</system.web>
<UsersSettings>
<add key="connectionString" value="server=localhost;Trusted_Connection=true;database=master" />
<add key="smtpServer" value="localhost" />
</UsersSettings>
</configuration>まず最初の configSections で、どういう名前を使うのかを記述しています。そして、下のほうに作成をしている UsersSettings 設定項目が記載されている形になります。さて、準備ができましたので次はこれを呼び出す方法を紹介します。今回は汎用性を持たせるためにも、ファイルは、Framework フォルダ > Components フォルダ > の中に Globals.cs を作成しました。
using System;
using System.Collections;
using System.Collections.Specialized;
using System.Configuration;
namespace Users.Framework.Components
{
///
/// Globals の概要の説明です。
///
public class Globals
{
static public String DatabaseConnectionString
{
get
{
return SafeConfigString("UsersSettings", "connectionString", string.Empty);
}
}
//
// Web.Config から文字列の設定を取得する関数
//
private static string SafeConfigString(string configSection, string configKey, string defaultValue)
{
NameValueCollection configSettings = ConfigurationSettings.GetConfig(configSection) as NameValueCollection;
if ( configSettings != null )
{
string configValue = configSettings[configKey] as string;
if ( configValue != null )
{
return configValue;
}
}
return defaultValue;
}
//
// Web.Config から数字の設定を取得する関数
//
private static int SafeConfigNumber(string configSection, string configKey, int defaultValue)
{
NameValueCollection configSettings = ConfigurationSettings.GetConfig(configSection) as NameValueCollection;
if ( configSettings != null )
{
try
{
int configValue = Int32.Parse(configSettings[configKey]);
return configValue;
}
catch {}
}
return defaultValue;
}
}
}
基本的に、using System.Configuration; を指定して ConfigurationSettings を使うことで呼び出しをすることができます。呼び出し方をシンプルにするために、ここでは関すにして記述しています。あとはフォームの中からこのコンポーネントを利用すれば簡単に呼び出せます。ここではボタンを押したら TextBox1 に文字を設定するだけのコードになります。using の部分にusing Users.Framework.Components;を追加します。次に、ボタンとテキストボックスを配置して、ボタンを押したときのイベントに以下の記述を追加します。TextBox1.Text = Globals.DatabaseConnectionString;大幅にコードを省いて紹介しましたが、Web.Config に記載した ConnectionString を呼び出すことができると思います。Visual Studio .NET があれば、10 分もあればサンプルの記述を試してみることができるでしょう。