Laden...

return Control von ASMX

Erstellt von Hanswurst90 vor 13 Jahren Letzter Beitrag vor 13 Jahren 987 Views
H
Hanswurst90 Themenstarter:in
62 Beiträge seit 2007
vor 13 Jahren
return Control von ASMX

Hallo,

ich habe ein Problem bei der Rückgabe eines Controls:

ich habe einen Webservice, in der Klasse Drucke.cs wird eine Listview erzeugt und befüllt. Diese soll von der lokalen Anwendung über Drucke.asmx erreichbar und abrufbar sein.

Mein bisheriger Code:
Webservice
Drucke.cs


public object lv()
      ListView lvv = new ListView();
... Fill Listview....
          return lvv;
            // sopda.Serialize(stm, da);
        }

Drucke.asmx


public object druckauftraege(int drucker_id)
        {       
           Drucke artikel = new Artikel_Drucke();
            artikel.Drucker_id = drucker_id;
            return artikel.lv();
        }

Lokale Anwendung
uc_drucke.cs


  private void cmb_druckername_SelectedIndexChanged(object sender, EventArgs e)
        {
            ws_verkauf_drucke.Drucke wl = new ws_verkauf_drucke.Drucke();
       ListView lv = new ListView();
 lv = wl.druckauftraege(cmb_druckername.SelectedItem.GetHashCode()) as ListView;

Bei dem jetzigem Code erhalte ich die Fehlermeldung:
System.Web.Services.Protocols.SoapException: Die Anforderung konnte vom Server nicht verarbeitet werden. ---> System.InvalidOperationException: Beim Generieren des XML-Dokuments ist ein Fehler aufgetreten. ---> System.InvalidOperationException: Der Typ System.Windows.Forms.ListView wurde nicht erwartet. Verwenden Sie das XmlInclude- oder das SoapInclude-Attribut, um Typen anzugeben, die nicht statisch sind.
-----> und das obwohl ich nirgends ein XML erstelle oder auf eines zugreife.

S
902 Beiträge seit 2007
vor 13 Jahren

Hallo,

ich glaube nicht das du ganze Controls verschicken kannst/solltest.
Lass dir in dem Service lieber nur die Daten erstellen und zurückgeben.
Der Client kann diese dann anzeigen wo und wie er will.

Jetzt müsste ja jeder Client etwas von einem Listview wissen...

mfg
serial