Disclaimer The opinions expressed herein are my own personal opinions and do not represent my employer's view in any way.
Je vous propose une méthode d'extension simple qui permet d'envoyer un formulaire vers une page html. Le beta 2 de silverlight nous simplifie la vie avec la fonction UploadStringAsync. Il ne reste plus que l'encodage des données et le content type à assigner.
Voici la méthode d'extension
/// <summary>
/// Method extensions for SLExtension framework
/// </summary>
public static class SLExtension
{
....
#region WebClient
/// Sends an HTML form. The request is sent using POST method
/// <param name="webclient">The webclient.</param>
/// <param name="uri">The URI of the resource to receive the file. </param>
/// <param name="data">The form data to upload.</param>
public static void SendHtmlForm(this WebClient webclient, Uri uri, IEnumerable<KeyValuePair<string, string>> data)
StringBuilder dataBuilder = new StringBuilder();
int cnt = 0;
foreach (var item in data)
if (cnt > 0)
dataBuilder.Append('&');
}
dataBuilder.Append(item.Key);
dataBuilder.Append('=');
dataBuilder.Append(HttpUtility.UrlEncode(item.Value));
webclient.Headers[HttpRequestHeader.ContentType] = "application/x-www-form-urlencoded";
webclient.UploadStringAsync(uri, dataBuilder.ToString());
/// <param name="userToken">user state</param>
public static void SendHtmlForm(this WebClient webclient, Uri uri, IEnumerable<KeyValuePair<string, string>> data, object userToken)
webclient.UploadStringAsync(uri, "POST", dataBuilder.ToString(), userToken);
#endregion WebClient
#endregion Public Methods