Laden...

Forenbeiträge von naumann Ingesamt 61 Beiträge

18.10.2005 - 16:42 Uhr

Es gibt ein sogenanntes ViewState. Dort werden alle Werte, z.B. der Text einer Textbox, gespeichert.
Definier dir wiefolgt die Eigenschaft Text:


public string Text
{
get {return (String) ViewState["Text"];} //"Text" ist der index im ViewState
set {ViewState["Text"] = value;}
}

Weitere Infos findest du im MSDN.

18.10.2005 - 16:30 Uhr

Kannst du mir mal bitte ein kleines Codebespiel senden? Ich glaub nähmlich, ich seh den Wald vor lauter Bäumen wirklich nicht mehr.

So wie ich das verstanden habe, soll ich mir dann 2 Komponenten auf meine Seite ziehen. Ein Nav Leiste und ein Grid. Nur das wäre ja das gleiche wie am Anfang.

Bitte sagst, wenn ich das zu undeutlich erläutere. Ich kann das Teil mal hochladen.

18.10.2005 - 16:13 Uhr

Oh, haben wir aneinander vorbeigeredet. Naja, für andere Forumuser trotzdem hilfreich.
Anderer Vorschlag. Würdest du dich zufrieden geben, wenn du deine XML File als Upload über eine ASPX Seite an den Server schickst und er sie dann somit verarbeitet? Den Web Dienst kann dir nur Dienste bieten. Wie der Name schon sagt.

Das einzige was du machen könntest ist, wenn du deine XML Datei als Parameter an den Service sendest und er diese mit deiner DB synchronisiert.
Einfach mal ausprobieren.

18.10.2005 - 15:32 Uhr

Hab mich nochmal informiert. Du solltest Datei auf keinen Fall uncodiert als String zum Client senden, da es dabei Zeichen gibt, die er im XML beim versenden nicht codieren kann.
Anderer Vorschlag. Zersetze dein Stream in Byte pakete und speichere diese als Byte-Array. Danach sendest du das Byte-Array an den Client welcher es wieder als Stream und somit als Datei umwandelt. Ungefähr so:


[WebMethod]
public byte[] GetXmlFile(string SQL)
{
MemoryStream _file = new MemoryStream();
_file = GetXML(SQL); // Deine Private Funktion welche die Datensätze als XML speichert u. als Stream sendet
return _file.ToArray;
}

Am Client würde das so aussehen:


MeinWebService f_GetFile;
byte[] bytesDerDatei;
MemoryStream _NewFile = new MemoryStream();

bytesDerDatei = f_GetFile.GetXmlFile("SELECT * FROM tblTest";);
_NewFile.Write(bytesDerDatei,0,bytesDerDatei.LongLenght);

//Tada, deine Datei liegt beim Client.

Ich hoffe, du verstehst was ich meine.
Eine Frage noch. Was willst du mit irgendwelchen IPs? Bei einem WebService musst du doch nichts mit IPs machen oder haben die eine andere Funktion. Ich glaub auch kaum, dass du per SOAP einen Netzwerkstream verschicken kannst. Als was da versendet wird sind XML Daten.

18.10.2005 - 14:11 Uhr

Die Darstellung krieg ich schon in einer ASP.Net Table hin. Nur wenn meine Klasse von DataGrid erbt, dann kann ich doch auch kein DataGrid in eine HTML-Tabelle machen. Probier mal bitte aus ob das bei dir geht. Erstelle eine neue WebCustomControl und lass die Klasse nicht WebControl erben sondern DataGrid. In der Prozedur Render kannste dann deine Controls hinzufügen.
Vielleicht verstehst du dann besser was ich meine.

18.10.2005 - 12:23 Uhr

Meine derzeitige Darstellung ist folgende. Ich hab eine Tabelle mit 2 Zeilen. Erste Spalte die Navigation. Zweite Spalte das Grid. Wenn ich jetzt aber von DataGrid erbe, kann ich doch keine Tabelle mehr darstellen oder doch. Könnte DataGrid überhaupt Unterelemente aufnehmen?

18.10.2005 - 11:04 Uhr

Erstelle aus deinem XML einen MemoryStream. sende Diesen Stream an Client. Dieser könnte ihn direkt als Datei speichern oder was er sonst damit machen will. Du kannst das ganze aber auch als String verschicken. Ich denke mal der Client will das Teil eh gleich verarbeiten.
Mein Code wie ichs mir vorstelle:


[WebMethod]
public Stream GetXmlFile(string SQL)
{
MemoryStream _file = new MemoryStream();

_file = GetXml(SQL); // Deine Private Funktion
return _file;
}

Wenn man drüber nachdenkt, könnte man auch direkt einen Instert Befehl versenden. Du speicherst den Datensatz/sätze eh in der DB auf der anderen Seite. So würde ich es machen.
Ich hoffe das ist die Antwort auf deine Frage.

18.10.2005 - 10:46 Uhr

Das behebt leider auch nicht meinen Fehler. Warum kann er die Eigenschaftswerte vom Grid nicht ändern? Ich zeig euch einfach mal den Code.


DataGrid my_dgrid = new DataGrid();

public DataGrid ControlDataGrid
{
get {return my_dgrid;}
set {my_dgrid = value;}
}

protected override void Render(HtmlTextWriter output)
{
Controls.Add(my_dgrid);
}


18.10.2005 - 10:06 Uhr

Erst mal sorry für den BaseDataLine Schreibfehler. Eine Schnittstelle konnte ich dazu nicht finden. Wie bekomme ich die Schnittstell zu der Klasse eigntlich raus. Vom Namen oder steht sowas in der Klassenbeschreibung?

Die Seite lässt sich ausführen, d.h. er gibt keinen Fehler aus. Das sind Methoden wie CreateChildControls. Die muss die Klasse ja haben. Nur meckert er rum, wenn ich die
CreateControlHierarchy Methode leer lasse.

Mein Problem ist ja, ich möchte ein DataGrid in die Control setzten. Nur braucht das Grid seine Eigenschaften.

Vielleicht bin ich komplett auf den Holzweg. Meine anfängliche Überlegung war, dass ich einfach eine Control (DataGrid) hinzufüge und dieses dann als Eigenschaft zur verfügung gebe, damit ich in dem Grid selbst ein DataSource bestimmen kann. Nur liesen sich die Untereigenschaften hiefür nicht verändern (wie z.B. DataSource). Vielleicht war das eine bessere Idee, nur hatte ich vielleicht dort was falsch gemacht.

17.10.2005 - 16:10 Uhr

Das deine Server Controls neugeladen werden lässt sich nicht vermeiden. Du kannst aber sagen, dass er deine DropDownList nur beim ersten Laden der Seite füllen soll und zwar prüfst du

if(IsPostBack == false) drpBox.Items.Add("Test";);

Jetzt werden deine Werte nur beim erstenmal Laden in die Box geschrieben.

17.10.2005 - 13:23 Uhr

Hi Leute,

hab folgendes Problem: Ich bin dabei meine eigene WebControl zu schreiben. Es geht um ein DataGird mit einer Navigationsleiste. Die Navigationsleite läuft auch, das Problem ist nur, dass ich meine Klasse von BaseDataLine ableiten muss, um das DataGrid darzustellen.
Meine Frage: Wozu dienen die Funktionen **CreateControlHierarchy **und **PrepareControlHierarchy. **Die beiden Methoden werden von BaseDataLine benötigt.
Hat einer von euch schonmal sowas in der Richtung gemacht? Eigentlich müsste er alles andere auch darstellen da BaseDataLine von WebControls abgeleitet ist, nur er zeigt mir im Designer an, dass die Control nicht dargestellt werden kann.