BackColorとTextをデータベースから直接設定する必要がある100以上のasp.netボタンがあります。これを理解できれば、400行以上のSelect文を置き換えることができます。約10行のコードがあります。以下の変換方法のどちらも動作しない場合、If節の中のをvar c
に置き換えることができます。WebControl.Buttonに文字列をキャストする方法
Sub Page_Load(sender As Object, e As EventArgs)
Dim taR As New DsReadyTableAdapters.taReady
Dim dtR As New DsReady.ReadyDataTable
taR.Fill(dtR)
Dim x As Integer = 1
Dim ss As String
Dim t As Type
For Each b In form1.Controls
t = b.GetType
If t.Name = "Button" Then
Dim c As System.Web.UI.WebControls.Button = CType(b.ID, System.Web.UI.WebControls.Button) 'tried both, doesn't work
Dim c As System.Web.UI.WebControls.Button = DirectCast(b.ID, System.Web.UI.WebControls.Button) 'tried both, doesn't work
ss = CStr(b.ID).Substring(6)
If ss > 122 And ss < 126 Then
b.ID.BackColor = Drawing.ColorTranslator.FromHtml(dtR(x).Color) 'b.ID is string so doesn't work
b.ID.Text = dtR(x).Num
x += 1
End If
End If
Next b
End Sub
私もちょうどボタンに結果を絞り込むことFor Each
文でControls.OfType
句を使用してみましたが、無駄にしています。私はjQueryでもこれをやりたいと思っていますが、私が使っているものと同じくらい簡単なデータをデータベースから取得する簡単な方法は見つけられていません。あなたの助けが大変ありがとうございます。
「For Each」ステートメントの前に、コードに正確に入れておきますか?私はすべてのボタンを反復しようとしているので、 'your_button_name'をどのように使うことができないのか分かりません。ありがとう – NitroMuse
"試してください"答えのための適切な説明ではありません。コードのみのソリューションは品質の低いコンテンツとみなされ、回答が削除される可能性があります。 –
あなたのループに入れて、your_button_name = b.ID – Jack