たとえば、次の方法で Web コントロールを作成しています。
<dnwc:TestControl runat="server" CurrentSite="test"></dnwc:TestControl>
コードビハインド(TestControl.cs)でCurrentSiteの値を取得するにはどうすればよいですか? 私は次のようにして値を取得しようとしました:
this.Attributes["CurrentSite"]
しかし、値は null です。
解決:
回答を投稿できないため、ここに追加します。
TestControl.cs ファイルで属性を宣言する必要がありました。
public string CurrentSite
{
get
{
string s = (string)ViewState["CurrentSite"];
return (s == null) ? "test2" : s;
}
set
{
ViewState["CurrentSite"] = value;
//Retrieve the current site and set it as an attribute in the input tag
inputTag.SetAttribute("data-current-site", value);
}
}
残念ながら、値が設定された後にしかアクセスできませんでした。インスタンスの作成後に値が設定されます。したがって、コンストラクターが呼び出された後。もともと、コンストラクターが呼び出すメソッドに値を設定する必要がありましたが、今のところこれで十分です。