Hej, Hej, här har du ett exempel som du skulle kunna använda dig av. Exemplet har en asp-table som du fyller på från codebehind. Den lägger till kontrollerna dynamiskt och kan lätt användas i en usercontrol. Sen gör den ett anrop till en egen subrutin som du skapar och således kan fånga värdet.. Hej, Eller jag hittade det, tror jag..Dynamiska kontroller
Jag har en meny på min sida som listar ett antal produkter. Innan var detta länkar till en annan sida, och då skickade jag ju bara med produktid i en querystring.
Men nu ska jag inte skicka till en annan sida, utan visa detaljerna på en samma sida. Så då tänkte jag i min lista skapa linkbuttons och sen vid onclick på dessa ladda innehållet bredvid.
1. Hur skapar man linkbuttons dynamiskt?
2. Hur fångar jag jag ID´t på mina produkter i code behind?
Tackar på förhand!!
/JockeSv: Dynamiska kontroller
<code>
<form id="Form1" method="post" runat="server">
<asp:Table id="Table1" runat="server" />
</form>
</code>
Sen har du codebehind.
<code>
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'Put user code to initialize the page here
For a As Integer = 1 To 10
Dim tr As New TableRow
Dim td1 As New TableCell
Dim lb As New LinkButton
lb.Text = "knapp " & CStr(a)
lb.CommandArgument = "itm_" & CStr(a)
AddHandler lb.Command, AddressOf menu_command
td1.Controls.Add(lb)
tr.Controls.Add(td1)
Table1.Controls.Add(tr)
Next
End Sub
Private Sub menu_command(ByVal sender As System.Object, ByVal e As System.Web.UI.WebControls.CommandEventArgs)
' hämtar id för tryckt knapp
Dim item_number As String = e.CommandArgument()
Response.Write("Du tryckte: " & item_number)
End Sub
</code>
Finns även på Programarkivet:Skapa och fånga kontroller dynamisktSv:Dynamiska kontroller
Tack för svaret!
Det funkar NÄSTAN perfekt.
Man kommer aldrig in i "menu_command" när man klickar på en control.
Vad kan det vara?
Gör du det om du kör den koden?
/JockeSv: Dynamiska kontroller
Jag fyllde bara min tabell om det inte var postback, dvs:
If Not Page.IsPostBack Then
FillProductTable()
End If
Tog jag bort if-satsen funkar det.
Tack för hjälpen!
/Jocke