Jag har byggt en UserControl som ska hantera redigeringen av användare. Den tar emot userID, som den använder för att hämta rätt användare.
När jag klickar på knappen "Ny användare" så skapas såklart en ny användare, därefter vill jag läsa in min UserControl på sidan, med det nya ID't på användaren.
Det jag har gjort nu är att jag har lagt ut min UserControl på sidan (så vill jag egentligen inte ha det) och i funktionen CreateUser så sätter jag myusercontrol.userID = myUser.ID
Jag VET att myUser.ID har ett korrekt värde, för jag sätter det i en label också, men när jag i min UserControl skriver ut värdet på userID så är det 0 och därför fungerar det inte.
Vad gör jag för fel, och hur gör jag för att i programkoden lägga till en UserControl?
Förresten, jag leker i ASP.NET 2.0
Min UserControl:
<%@ Control Language="VB" ClassName="editUser" %>
<script runat="server">
Private _userID As Integer
Public Property userID() As Integer
Get
Return _userID
End Get
Set(ByVal value As Integer)
_userID = value
End Set
End Property
Sub Page_Load(ByVal obj As Object, ByVal e As EventArgs)
Dim myUser As New User
If myUser.LoadFromID(userID) Then
DetailsView1.DataSource = myUser
DetailsView1.DataBind()
Else
lblMsg.Text = "Error (" & userID & ")"
End If
End Sub
</script>
<asp:DetailsView ID="DetailsView1" runat="server" Height="50px" Width="125px">
</asp:DetailsView>
<asp:Label ID="lblMsg" runat="server" />
Min CreateUser funktion:
Sub CreateUser(ByVal obj As Object, ByVal e As EventArgs)
Dim myUser As New User
If myUser.CreateUser() Then
message.Text = "New user created, with id=" & myUser.Id
EditUser1.userID = myUser.Id
Else
message.Text = "Error Creating User"
End If
End Sub