TextBox txtUsername = new TextBox();
void setEnabled(string str, bool enable)
{
// use str to find the TextBox object
// str.Enabled = enable;
}
は、このちょっとのことでも可能ですか?
「ユーザー名」を渡して、「txt」を前に付けたいとします。
TextBox txtUsername = new TextBox();
void setEnabled(string str, bool enable)
{
// use str to find the TextBox object
// str.Enabled = enable;
}
は、このちょっとのことでも可能ですか?
「ユーザー名」を渡して、「txt」を前に付けたいとします。
はい、あなたは、あなたがそれの所有者を経由してアクセスすることができ、Name
-Propertyを設定する必要があります。これを行うには
this.Controls.Item(str).Enabled = enabled;
一つの方法は、識別子で辞書内のすべてのテキストフィールドを格納することです: ASP.Netのcotrolsについては
Dictionary<string,TextBox> index = new Dictionary<string,TextBox>();
index.add("Username",txtUsername);
void setEnabled(string str, bool enable)
{
index[str].Enabled = enable;
}
関数にページを渡す必要があります。そうでない場合は、コントロールを検索する関数がどのコンテキストにありますか? Page、FindControl()メソッドを使用してコントロールを見つけることができます。 "ボビー" の回答から
はい、
TextBox txtUsername = new TextBox();
txtUsername.Name = "txtUsername ";
void SetEnable(string str, bool enable)
{
this.Controls.Item("txt" + str).Enabled = enabled;
}
リトル修正。
nice insight、ありがとうございますが、FindControlは組み込みの方法です – splodg