Webservice: ASP.Net für mobiles Gerät

18. März 2011 18:28

Hallo Leute,

hat schon jemand eine mobile Webanwendung (für Barcodescanner) erstellt, der über den Webservice auf NAV-Datenbank zugreift.

Das Problem ist:
ich kann zwar ne mobile Webanwendung (ascx in aspx einbinden) erstellen nur ich kann den focus nicht auf eine Textbox setzen.
Mit einer normaler aspx (keine mobile Website) da kann man den Focus setzen.
Und auf der normalen Webseite kann man wiederrum die schriftgröße der Textboxe nicht beeinflussen (Kann man schon aber die Controls werden nicht als mobile Controls erkannt, daher nimmt er die Standardgröße).
Genutz wird Windows Mobile 6.5.
In vielen älteren Foren-Einträgen steht, dass es für mobile Anwendungen nicht geht, aber mittlerweile sollten die mobilen Geräte schon in der Lage sein diese Anforderungen zu erfüllen.

Kennt jemand das Problem oder welche Alternative gibts es sonst als
Visual Studio 2008 Professional .Net 3.5 mit C# um eine mobile webseite zu entwickeln.
Ich hoffe, ihr könnt mir helfen.


lg Aydin

Re: Webservice: ASP.Net für mobiles Gerät

18. März 2011 22:58

Hi,

willst du den Barcode dann an die NAV-DB senden? Sind die mobilen Scanner im Betrieb? Wir haben so eine Lösung im Einstatz, jedoch wird auf einen TS per RDP verbunden und dann der NAV-Client aufgerufen. Die Forms sind entsprechend zugeschnitten.

Erkläre mir bitte das Vorhaben mit der mobilen Webanwendung. Muss es diese unbedingt sein? ASP.NET kann aber z.B. C/FRONT nutzen, welches ja wiederrum auf NAV zugreift.


Gruß

Martin

Re: Webservice: ASP.Net für mobiles Gerät

19. März 2011 13:09

Hi Martin,

wir wollen eine Funktion in NAV aufrufen. Daher empfiehlt es sich mit dem Webservice zu arbeiten,
weil dadurch die NAV Logik beibehalten wird (Vorteil gegenüber C/Front).

Das Problem liegt im Moment nur im Design der Controls. Hauptsächlich daran ,dass ich auf mobile Textboxe den Focus nicht setzen kann.
Im Lagerbetrieb wäre es ja nicht sinnvoll, wenn der User dauernd die Textbox anklicken muss. (Programmtechnisch wäre es besser:-))

Visual Studio 2008 bietet Templates für mobile Webanwendungen an.
Aber ich bekomme es einfach nicht hin auf die mobilen Controls (Textbox) den Focus zu setzen. Mit einer normalen Webanwendung da funktioniert die ganze Geschicht,
nur auf dem mobilen Gerät werden die Controls standardmäßig dargestellt (Macht im Lager auch kein Sinn, weil die Schriften zu klein sind).

Google und diverse Foren liefern mir leider auch keine Antworten. Manche schreiben den Focus kann man erst ab Windows mobile 6.x setzen, aber klappt dennoch nicht bei meiner Anwendung.


Gruß
Aydin

Re: Webservice: ASP.Net für mobiles Gerät

19. März 2011 18:30

Hi Aydin,

ich bin vielleicht etwas begriffstutzig, aber ich verstehe nicht genau was Du versucht zu programmieren. Ein ASCX ist doch nur ein Control auf einer ASPX-Seite. Welche Projektvorlage hast Du denn in Visual Studio benutzt. Sowas wie mobile Webanwendung finde ich bei mir nicht.

Volker

Re: Webservice: ASP.Net für mobiles Gerät

19. März 2011 19:02

Warum bleibt beim Webservice die Logik enthalten? Wie greifst du denn auf die NAV-Funktion zu? Das ist mir gerade noch schleierhaft. Du wirst doch mittels ASP und ADO per ODBC (höchstwahrscheinlich integrated security) auf die NAV-DB zugreifen oder irre ich mich?

Und ja: Ein ASCX ist nur ein User-Control auf der ASP-Page.

Re: Webservice: ASP.Net für mobiles Gerät

19. März 2011 20:51

BlackJack hat geschrieben:Du wirst doch mittels ASP und ADO per ODBC (höchstwahrscheinlich integrated security) auf die NAV-DB zugreifen oder irre ich mich?


Ja, da irrst Du. Ab NAV 2009 kann man Pages und Codeunits als Webservice veröffentlichen. Hiermit ist es möglich Daten nicht nur zu lesen, sondern auch Daten an NAV zu übergeben, Z. B. neue Kunden anlegen, Aufträge erfassen, .... Die Daten werden an NAV übergeben und das kümmert sich um die weitere Verarbeitung. Bei ODBC greifst Du auf die Datenbank direkt zu und umgehst jede Logik.

Volker


PS
ADO ist quasi tot und hat eigentlich nix mit ADO.NET zu tun.

Re: Webservice: ASP.Net für mobiles Gerät

20. März 2011 12:17

Hallo,

gut - wieder was gelernt. Wie funktioniert das Veröffentlichen der Pages?

ADO ist definitiv schon lange tot ;) LINQ dominiert starkt, aber wir schweifen ab.

Re: Webservice: ASP.Net für mobiles Gerät

20. März 2011 12:33

Verwaltung->IT-Verwaltung->allgemeine Einrichtung->Web Services

zur Nutzung solltest Du mal unter http://msdn.microsoft.com/en-us/library/dd355036.aspx anfangen zu lesen.

Volker

Re: Webservice: ASP.Net für mobiles Gerät

20. März 2011 16:39

Hi Volker,


ich verwendet folgendes Template:
http://blogs.msdn.com/b/webdevtools/arc ... -2008.aspx

Da Vusual Studio das Designen von mobilen Controls nicht unterstützt, designe ich in einem User Control (ascx) und binde das in eine
mobile ASPX Seite ein. So habe ich die Controls so wie ich es haben will, aber mit der EInschränkung, dass ich den Focus auf eine Textbox
nicht programmgesteuert setzen kann. Habe zumindest keinen Weg gefunden und auf einer normalen ASPX seite da funktioniert es mit dem Focus setzen.

Viellicht gibt es einen Weg und ich sehe diesen nicht:-(
Diverse Recherchen in Foren haben leider auch zu nix geführt.

Auf der anderen Seite Frage ich mich schon, wofür braucht man mobile Controls, wenn man den Focus nicht setzen kann?!
Spzeiell mit einem Barcodescanner, um damit im Lager zu arbeiten. Der User kann doch nicht nach jedem Scan die Textbox auswählen.
Zwar kann man nach jedem Scann ein TAB konfigurieren, aber dann wieder zum ersten Textbox zu springen geht nicht und die Seite sollte schon beim Laden auf der ersten Textbox stehen.

Irgendwie muss es doch gehen? Verwende auf dem Mobilen Client Windows mobile 6.5.


Gruß
Aydin

Re: Webservice: ASP.Net für mobiles Gerät

21. März 2011 10:17

Hi Aydin,

also bei deinem Problem kann ich dir nicht direkt weiterhelfen, aber meine Vorgänger haben eine ähnliche Anwendung programmiert in der ich mal bisschen was erweitert habe. Dabei geht es um einen Symbol - Scanner mit Windows - Mobile. Die Anwendung war für die Inventur, speichert aber in eine Datenbank auf dem Gerät(Sql Server Comapct) und überträgt dann die Daten auf einmal über einen Webservice nach Navision, da die Webservices extrem langsam sind. Auf jedenfall ist das aber eine Forms-Anwendung, muss es bei dir Web sein? Wenn es auch eine normale Forms Anwendung sein kann, dann kann ich mir das nochmal anschauen und dir da bisel Info dazu geben...

Grüße, Andi

Re: Webservice: ASP.Net für mobiles Gerät

21. März 2011 10:55

Hi Andi,


danke für die Rückmeldung.
Wir haben uns im Team darauf geeinigt, dass es eine Webanwendung wird, weil evtl. mehere mobile Geräte zum Einsatz kommen und wir nicht dauernd an allen Clients die Anwendung übertragen (vorallem bei Änderungen müssten alle Clients aktualistert werden).

Beim Designen von Wenanwendungen kommt man schon schnell an seine Grenzen:-) Das wird quasi die erste Anwendung mit dieser Technologie (Webservice) und es wurd bereits soviel Zeit investiert.
Ich frage mich schon wieso in Visual Studio die Vorlagen für mobile Webanwendungen entfernt wurden. Vorallem in der heutigen Zeit, wo mobile Clients kontinuierlich an Priorität gewinnen.

Wieso man in mobilen Textboxen (bzw. mobilen Form) die setfocus nicht anwenden kann, drauf fehlt mir die Antwort und das Verständnis:-)


Gruß
Aydin

Re: Webservice: ASP.Net für mobiles Gerät

21. März 2011 12:49

Hi Aydin,

so http://www.beansoftware.com/ASP.NET-Tutorials/Focus-ASP.NET.aspx sollte es eigentlich gehen.

Volker

Re: Webservice: ASP.Net für mobiles Gerät

21. März 2011 13:11

Hi Volker,


genau die Geschichte funktioniert nur bei normalen ASPX-Seiten leider nicht bei mobilen ASPX-Seiten.
Ich verwende den folgenden Code in C#:

Code:
protected void SetFocusControl(Control ctrl)
        {
            // Set the focus on the Control
            System.Text.StringBuilder sb = new System.Text.StringBuilder(100);
            sb.Append("<script language=\"javascript\">\r\n");
            sb.Append("<!--\r\n");
            sb.Append("document.getElementById('");
            sb.Append(ctrl.ClientID);
            sb.Append("').focus();\r\n");
            sb.Append("-->\r\n");
            sb.Append("</script>\r\n");
            ClientScript.RegisterStartupScript(this.GetType(), "SetFocus", sb.ToString());
        }


Der Nachteil dabei ist nur, dass das mobile-Gerät die benutzerdefinierten Einstellungen nicht anzeigt (Anzeige-Problem). Wenn man die Schriftgröße in der Textbox auf Large stellt, werden die Einstellungen nicht so interpretiert. Mit anderen Worten im Designer kann man machen was man will, es wird immer standarmäßig dargstellt.

Deswegen verwenden wir mobile Controls (mobile ASPX-Seite), aber da lässt sich der Focus auf die Controls nicht setzen, zumidest habe ich bis jetzt keinen Weg gefunden?!


Gruß
Aydin