Ich habe einen Steuer Benutzer auf einer Seite wie folgt definiert:Wie lege ich einen Standardwert für eine ASPX UserControl-Eigenschaft fest?
<uc:MyUserControl ID="MyUserControl" runat="server" Visible="true" />
ich die gleiche Kontrolle auf einer anderen Seite mit einer benutzerdefinierten Eigenschaft wiederzuverwenden bin zu wollen, wie folgt:
<uc:MyUserControl ID="MyUserControl" runat="server" Visible="true"
MyCustomProperty="MyCustomText" />
Der Zweck MyCustomProperty soll einen Text in MyUserControl so steuern, wie ich es vorschlage.
Für den ersten Fall möchte ich den Text "View" und für den zweiten Fall möchte ich es "MyCustomText".
In meiner Benutzerkontrolle Ich habe den Code nach der Eigenschaft zu definieren:
[DefaultValue("View")]
public string MyCustomProperty { get; set; }
ich auch den folgenden Code habe, den Text zu aktualisieren, auf dem Grundstück basiert:
LinkButton buttonSelect = e.Item.FindControl("ButtonSelect") as LinkButton;
if(buttonSelect != null) buttonSelect.Text = MyCustomProperty;
Was tatsächlich passiert, Wenn die benutzerdefinierte Eigenschaft im ersten Fall nicht angegeben wird, ist MyCustomProperty == null.
Ich habe versucht, anzugeben, dass der Standardwert "View" durch Hinzufügen des Attributs DefaultValue sein sollte, aber es hatte nicht die Wirkung, die ich beabsichtigte.
Kann jemand feststellen, was ich falsch mache?
In meinem Fall Postbacks sind kein Problem, also war Ihre Antwort genau das, was ich brauchte. Ich hätte eigentlich DefaultValue auf MSDN nachschlagen sollen, aber ich war mit so vielen anderen Dingen beschäftigt, dass es mir nicht in den Sinn kam ... was albern ist, weiß ich ... Danke, haufenweise für deine Hilfe! – mezoid