webForumDet fria alternativet

Skicka värde till Web User Control

.NET

5 svar · 424 visningar · startad av wiggo

Medlem sedan mars 200615 inlägg
Frågan#1

Hej.

Har en Web User Control som jag i laddningen av parent-sidan vill skicka ett värde till. Har suttit och googlat i någon timme men kommer inte igång. :x

Någon med något bra tips/länk/lösnin?

Medlem sedan maj 20011 312 inlägg
#2

Är det inte bara att anropa en metod i din usercontrol från parent-sidan? Tex:
NamnetPåDinUsercontrol.DinUserControlMetod(DittVärde)

Medlem sedan mars 200615 inlägg
#3

Jag har löste det så här ("fulkod"):

Imports childe

Partial Class parent
Inherits System.Web.UI.Page

Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim c As childe = CType(Page.LoadControl("Child.ascx"), childe)
        c.vari() = TextBox1.Text
End Sub

End Class

---------------

Public Class childe
    Inherits System.Web.UI.UserControl
    Private texten As String

    Public Property vari() As String
        Get
            Return texten
        End Get
        Set(ByVal value As String)
            texten = value
            Response.Write(texten)

        End Set
    End Property
End Class

Var det så du menade? :q

Medlem sedan mars 200615 inlägg
#4

Länktips i ämnet:
http://openmymind.net/communication/index.html#2.1

Medlem sedan maj 20011 312 inlägg
#5

Du borde inte behöva göra page.load. Hur ser din registrering ut av usercontrol:en på aspx-sidan? Kanske ser det ut något likt detta:

<%@ Register TagPrefix="uc1" TagName="Child" Src="Child.ascx" %>

<uc1:Child id="Child1" runat="server"></uc1:Child>

Sen är det väl bara att göra så här:

Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
 Child1.vari() = TextBox1.Text
End Sub
Medlem sedan mars 200615 inlägg
#6

Visst funkar det. Sparar ju en del kod jämfört med min första lösning.

Sen igår så testade jag en annan sak på mitt lilla hobby-projekt.

Skickar med en variabel till en "parent-sida" som jag tar emot med "RequestQueryString". Det jag upptäckte var att jag kunde även köra samma sak i min UserControl. Så i mitt fall behöver jag egentligen inte skicka värdet till UserControlen eftersom jag kan hämta den med "RequestQueryString" direkt...

257 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
125 ms — deklarationer (db)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)
122 ms — ändringar (db)