Wie kann ich eine Datenfolge zu einer programmatisch geladen benutzerdefinierte Steuerung in C # übergeben

StackOverflow https://stackoverflow.com/questions/336453

  •  22-07-2019
  •  | 
  •  

Frage

Ich habe eine benutzerdefinierte User Control geschrieben, die einige benutzerspezifische Daten zurückgibt. So laden Kontrolle der benutzerdefinierten Benutzer ich die folgende Codezeile verwenden:

UserControl myUC = (UserControl).Load("~/customUserControl.ascx");

Aber wie kann ich auf string user innerhalb der User Control myUC?

War es hilfreich?

Lösung

Lassen Sie uns rufen Sie Ihren Usercontrol "Bob"

Wenn Sie von Usercontrol in Bob Inherit, dann denke ich, es ist sicher, dies zu tun:

Bob b = (Bob).Load("~/customUserControl.ascx");

Für den Anwender Teil, kann ich nicht wirklich folgen, was Sie tun wollen, ist der „Benutzer“ in der Klasse waren Sie den „Bob“ Usercontrol und Sie wollen eine Immobilie in dem „Bob“ Usercontrol setzen oder ist es umgekehrt?

Für die erste sollten Sie eine Eigenschaft in Ihrem Usercontrol erstellen.

class Bob : UserControl{
public string User { get; set;}
}

und legen Sie es dann, wenn nach dem „Bob“ Instanz erstellen.

b.User = theuser;

Andere Tipps

Angenommen

Ihre benutzerdefinierte Benutzersteuer Name ist "MyUserControl"

Versuchen Sie diesen Code ein:

MyUserControl myUC = (UserControl).Load("~/customUserControl.ascx") as MyUserControl;
string result = myUC.user;

Sie müssen die geladenen Kontrolle der tatsächlichen Art werfen und seine öffentlichen Eigenschaft:

MyUserControl myUCTyped = (MyUserControl)myUC;
myUCTyped.ThePublicProperty = "some value";

Dank so weit. Mein Code ist excactly die gleiche wie oben geschrieben:

public partial class todo : System.Web.UI.UserControl
{
    private string mysecondteststring;
    public string setValue
    {
        get
        {
            return mysecondteststring;
        }
        set
        {
            mysecondteststring = value;
        }
    }
    protected void Page_Load(object sender, EventArgs e)
    {
        // my code
    }
}

Aber ich bin nicht in der Lage eine Instanz der Umfrage, in meinem Web-Service-Code zu erstellen. Ich vergesse etwas?

-> vergessen die Reference auf die ASPX-Seite hinzufügen, in dem die Benutzersteuerung dynamisch geladen wird. Es funktioniert jetzt mit normalen aspx Seiten. Beispielcode kann hier zu finden

Hat jemand von euch wissen, wie Bedienelemente kann als gut in Web-Service hinzugefügt werden, da die Referenz Attribut dort nicht verfügbar ist?

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top