Ich habe zwei ReorderList
Eins ist ein Elternteil und andere ist sein Kind. Ich möchte die ConnectionString
-Eigenschaft von SqlDataSource
durch den Code hinter ändern, aber ich bin nicht in der Lage, ConnectionString
Eigenschaft von Child ReorderList
zu ändern, auch wenn ich OnItemDataBound
probiert habe und versucht habe, das Steuerelement zu finden und seine Eigenschaft zu ändern nicht. Hier ist ein Beispiel für Code, den ich verwende:
Ich kann den ConnectionString
von SqlDataSource1
durch Code hinter und den zugreifbaren Code ändern, aber auf SqlDataSource2
kann nicht zugegriffen werden. Jeder gibt mir bitte einen Hinweis, wie ich dies erreichen kann, da ich Connection String aus dem Code hinterlasse.
In Ihrer Methode ItemDataBound
können Sie auf die SqlDataSource zugreifen:
Sie können also das Attribut ConnectionString
ändern.
Finden Sie dann Ihr ReorderList-Steuerelement auf die gleiche Weise ( e.Item.FindControl
) und setzen Sie sein DataSource
-Attribut auf sds
.
Vergessen Sie nicht zuletzt, die Methode DataBind()
Ihrer RedorderList aufzurufen.
Da Ihr Steuerelement den ASP.NET Expressions-Mechanismus verwendet, um die Verbindungszeichenfolge aus der Konfigurationsdatei abzurufen
Sie sollten
ersetzen können %Vor%mit Ihrem eigenen benutzerdefinierten Ausdruckanbieter
Auf diese Weise können Sie eine vollständige Kontrolle darüber haben, welcher tatsächliche Wert für den Kontext bereitgestellt wird, in dem der Wert abgerufen wird
%Vor%