Wie ändert man die ConnectionString-Eigenschaft von SqlDataSource durch Code hinter dem in Child ReorderList?

8

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:

%Vor%

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.

    
Afnan Ahmad 16.09.2016, 09:56
quelle

2 Antworten

1

In Ihrer Methode ItemDataBound können Sie auf die SqlDataSource zugreifen:

%Vor%

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 .

%Vor%

Vergessen Sie nicht zuletzt, die Methode DataBind() Ihrer RedorderList aufzurufen.

%Vor%     
Lucas Delobelle 28.09.2016, 11:05
quelle
4

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%     
Wiktor Zychla 21.09.2016 10:29
quelle

Tags und Links