我有一个动态创建的表。该表只有一个字段 - 类别。从每个类别我创建一个按钮。我希望每个按钮都重定向到特定页面。每个页面的aspx都有一个类别名称.aspx。 有没有办法动态地执行此操作?我使用Selected Case
创建了这个,但这不适合我,因为我每次都会创建和删除类别
Using myCommand As New SqlCommand("SELECT kategorie FROM Kategorie", myConn)
Using myDataReader As SqlDataReader = myCommand.ExecuteReader
While myDataReader.Read()
Dim tRow As New TableRow()
tblKategorie.Rows.Add(tRow)
Dim tCell As New TableCell()
tRow.Cells.Add(tCell)
Dim buttKategorie As New Button
buttKategorie.Text = myDataReader("kategorie")
buttKategorie.CssClass = "buttKategorie"
**'Here I tried to do it > ????**
'buttKategorie.PostBackUrl = myDataReader("kategorie.aspx")
tCell.Controls.Add(buttKategorie)
End While
End Using
End Using
答案 0 :(得分:2)
<强> XAML:强>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
<asp:panel runat="server" id="container"></asp:panel>
</asp:Content>
<强> C#:强>
我使用了一个列表,但你可以改变它。
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Dim source As New List(Of String)
source.Add("page1.aspx")
source.Add("page2.aspx")
For Each tmp As String In source
Dim btn As New Button
btn.Text = tmp
btn.ID = tmp
AddHandler btn.Click, AddressOf Me.Button_Click
container.Controls.Add(btn)
Next
End Sub
Private Sub Button_Click(sender As Object, e As EventArgs)
Dim btn As Button = CType(sender, Button)
Response.Redirect(btn.Text)
End Sub