2011-10-28 4 views
0

は、Labelコントロールを無効にして、以下のことを行うことです。私が何をしたいのか

私はTextプロパティの値を取得したいとカスタムXMLファイル内のいくつかのキー/値のペアを定義しLabelコントロールと私の設定xmlファイルの下の1のようになります。私は私のカスタムラベルコントロールの新しいインスタンスを作成するとき

<label key="lblLabel1" value="Something"/> 

、私はIDを通過し、それが設定ファイルに一致するIDキーを検索し、見つけたものに応じてTextを設定します。

私は、以下のようにだけでなくソースビューで私のカスタムコントロールを定義したいと

も:ここ

<ccontrol:CLabel ID="lblLabel1"/> 

私は唯一のIDプロパティを設定変更し、テキストのsettings.xmlファイルから来るべきです。

どうすればいいですか?

答えて

1

私もリソースの使用を提案していますが、あなたが求めていることはかなり簡単です。

のappSettingsであなたのキーと値のペア(Web.configファイル)リンク

まず店舗:

using System; 
using System.Configuration; 
using System.Web; 
using System.Web.Configuration; 
using System.Web.UI; 
using System.Web.UI.WebControls; 

namespace Web 
{ 
    public class SpecialLabel : Label 
    { 
     protected override void OnLoad (EventArgs e) 
     { 
      base.OnLoad (e); 

      //get value from appsettings 
      if(!string.IsNullOrEmpty(this.ID)) { 
       Configuration rootWebConfig1 = WebConfigurationManager.OpenWebConfiguration(null); 
       if (rootWebConfig1.AppSettings.Settings.Count > 0) 
       { 
        KeyValueConfigurationElement customSetting = rootWebConfig1.AppSettings.Settings[this.ID]; 
        if (customSetting != null) 
         this.Text = customSetting.Value; 
       } 
      } 
     } 

    } 
} 
http://msdn.microsoft.com/en-us/library/610xe886.aspx

は次に(未テスト)は、このような制御何かを書きます

関連する問題