2012-02-07 15 views
7

Il mio progetto è un progetto Silverlight navighation (IN-Browser) Voglio passare a un URL, ad esempio:Naviga e post i dati da Silverlight

System.Windows.Browser.HtmlPage.Window.Navigate(new Uri(string.Format("http://{0}: 
{1}/ReportProject.aspx#/Supplies/RequestGoods/RequestGoodsDashboard", 
Application.Current.Host.Source.Host, 
Application.Current.Host.Source.Port)), "_blank", ""); 

e inviare molti parametri con metodo post alla pagina

bersaglio

come posso fare questo?

risposta

7

Non è possibile Navigate() e utilizzare ancora POST. Navigate equivale a fare clic su un collegamento o a digitare un URL nella barra degli indirizzi, che richiama il verbo GET.

Per utilizzare POST, si potrebbe invece utilizzare il browser Silverlight interoperabilità per creare a livello di codice un HTML <form>, impostare il suo attributo action per l'URL corretto, impostare il suo attributo target-"_blank", aggiungere un po '<input type="hidden"> campi, impostare i loro nomi e valori e quindi submit() il modulo.

// Get document and body 
var doc = System.Windows.Browser.HtmlPage.Document; 
var body = doc.Body; 

// Create a <form> element and add it to the body 
var newForm = doc.CreateElement("form"); 
newForm.SetAttribute("action", targetUrl); 
newForm.SetAttribute("method", "post"); 
body.AppendChild(newForm); 

// TODO: doc.CreateElement("input"); 
// TODO: SetAttribute("type", "hidden"); 
// TODO: SetAttribute("name", someName); 
// TODO: SetAttribute("value", someValue); 
// TODO: newForm.AppendChild() 

newForm.Invoke("submit"); 
+0

grazie, è stato utile – Masoomian