2017-08-07 17 views
0

データが利用可能であれば、Webフォーム内のボタンを表示しようとしています。 私はカラム名がNCIDのデータベースを持っていますが、ビューではNCIDを数えます。 と私はbtn1が隠されるまでbtn1を持っています。 NCID Countが1の場合、NCID Countが2の場合は 、表示ボタンbtn1の場合はbtn1とbtn2を表示します。C#のデータベース値に基づいてボタンのオン/オフを切り替える

Button IDを表示または非表示にするにはどうすればよいですか?

私は以下を試しましたが、私のために働いていません。これはWindowsのアプリを形成する場合

while (sr.Read()) 
{ 
    string NCID = sr["NCID"].ToString(); 
    int nc2 = Convert.ToInt32(NCID); 
    int x = 1; 

    do 
    { 
     string btnx = "btn" + x; 
     btnx.Visible = true; 

     x++; 
    } while (x <= nc2); 
} 

con.Close(); 
+0

WPF、このWebフォーム、MVCのですか? – Steve

+0

「私は以下を試しましたが、私のために働いていません!!何が起こると思いますか?実際に何が起こったのですか? – mjwills

+0

申し訳ありませんが、webform –

答えて

1

、あなたが使用することができます。

Controls.Find(btnx, true).First().Visible = true; 

Find control by name from Windows Forms controls

https://msdn.microsoft.com/en-us/library/system.windows.forms.control.controlcollection.find(v=vs.110).aspx

を、それはWebフォームをだ場合は、使用することができます。

FindControl(btnx).Visible = true; 

https://msdn.microsoft.com/en-us/library/486wc64h(v=vs.110).aspx

+0

Controls.FindControl(btnx)を試しました.Visible = true; 「ControlControlにFindControlの定義が含まれていません」というエラーが表示される –

+0

HTMLでコントロールを宣言する方法を示すために質問を更新できますか? – Jared

+0

文字列NCID = sr ["NCID"]。ToString(); int nc2 = Convert.ToInt32(NCID); int x = 1; do { 文字列btnx = "btn" + x; Controls.FindControl(btnx).Visible = true; x ++; } while(x <= nc2); –

0

(jaredsの回答を参照してください)

for (int i = 0; i < x; i++) //smaller then ammount of lines returned  
{ 
    Controls.Find(btnx + i).Visible = true; //add visibility to wichever control (found by name) you wanted to add 
} 
関連する問題