2017-06-14 7 views
0

Angenommen, diese URL habe, für die verwendet wird, Daten an den ServerPosting Text von Eintrag zu Server-Seite

http://xxxxxxxxxxxx.aspx?title=oneIsGone&details=TheyWereTwo

und sind mit 2 Einträgen

<Entry Placeholder="News Title" Margin="8" VerticalOptions="Center" x:Name="title_entry" HeightRequest="40" /> 
      <Entry Placeholder="News Details" Margin="8" VerticalOptions="Center" x:Name="details_entry" HeightRequest="90" /> 

wie kann posten Ich mache eine asynchrone Methode, um die in den Einträgen eingegebenen Daten zu veröffentlichen.

Antwort

1

Sie benötigen eine Art Trigger, um den Post zu starten, also lassen Sie uns auch einen Button einführen;

<StackLayout> 
    <Entry Placeholder="News Title" Margin="8" VerticalOptions="Center" x:Name="title_entry" HeightRequest="40" /> 
    <Entry Placeholder="News Details" Margin="8" VerticalOptions="Center" x:Name="details_entry" HeightRequest="90" /> 
    <Button Text="Post away!" Clicked="Handle_Clicked" /> 
</StackLayout> 

Dann in Ihrem Handle_Clicked Methode, einen Code ähnlich wie diese hinzu:

private async void Handle_Clicked (object sender, System.EventArgs e) 
{ 
    using (var client = new HttpClient()) { 
     var response = await client.GetAsync ($"http://xxxxxxxxxxxx.aspx?title={title_entry.Text}&details={details_entry.Text}"); 

     // TODO do something with response 
    } 
} 

Natürlich ist dies eine Menge Fehlerbehandlung und so braucht, aber das ist die Grundlagen für den Einstieg.

private async void Handle_Clicked (object sender, System.EventArgs e) 
{ 
    try 
    { 
     using (var client = new HttpClient()) { 
      var response = await client.GetAsync ($"http://xxxxxxxxxxxx.aspx?title={title_entry.Text}&details={details_entry.Text}"); 

      // TODO do something with response 
     } 
    } 
    catch(Exception ex) 
    { 
     // Handle error 
    } 
} 
+0

Vielen Dank @Gerald, aber wie kann Fehler wie WebException Fehler auf IOS mit Xamarin.forms umgehen? –

+0

Werfen Sie einen Blick auf die aktualisierte Antwort. Aber das sind sehr grundlegende Entwicklungsfragen. Obwohl es mir nichts ausmacht, Ihnen beim Start zu helfen, ist StackOverflow nicht der richtige Ort für diese Fragen. Schau dir einige Blogs oder Tutorials an, die diese Art von Dingen beschreiben. Trotzdem hoffe ich, dass es geholfen hat! –

+0

Ja, es hat so viel geholfen, also wenn ich diesen Versuch benutze, wird es die Webexception in IOS –

1

Die Frage ist unvollständig, aber im Backend Sie den Code unten verwenden:

Für einige sehr grundlegende Fehlerbehandlung, Ausnahmen usw. nur einen try/catch-Block, wie folgt hinzufügen.

var title = title_entry.Text; 
var details= details_entry.Text; 
string URI = "http://xxxxxxxxxxxx.aspx"; 
String myParameters = String.Format("title={0}&details={1}",title,details); 
sendData(URI,myParameters); 

public async void sendData(string URI,string myParameters) 
{ 
using(HttpClient hc = new HttpClient()) 
{ 
    Var response = await hc.PostAsync(URI,new StringContent (myParameters)); 
} 
}