[Silverlight] 在Silverlight 中 post 或 get 資料給其他頁面
2012-10-05
在Silverlight 中有時候需要post 或是 透過 get 方式 傳資料出去給其他頁面作為溝通..
像台灣跟許多金流公司合作會常用到這方法..
這也是最常跟其他頁面溝通的方法..
案例 : 點擊Send Data 按鈕之後 會把 Textbox 中的值傳到 http://www.in2.cc/sample/getpostdata.aspx
那網頁頁面是可以接受無論get 或是 post 名為 data 的資料..
下面是畫面配置..
第一步首先你得在嵌入Silverlight 中的.html 頁面 中的 <body> 中加入
<form id="postform"
action="http://www.in2.cc/sample/getpostdata.aspx"
method="post"
target="_blank"
style="visibility:collapse" />
其中.. action 為接收資料端的網頁,method 可以為post 或是 get 此案例是用post ,
target 如果是_blank 為開新頁面,如果是_parent就是當頁
接下來就是 Silverlight 這邊如何去呼叫此form
首先需要先引入 System.Windows.Browser;
using System.Windows.Browser;
下面為按鈕的 C# Code :
private void btnSendData_Click(object sender, RoutedEventArgs e)
{
//取得在HTML 中叫做 postfrom 的form Element.
HtmlElement hiddenForm = HtmlPage.Document.GetElementById("postform");
//建立一個叫做input 的input box
HtmlElement hiddenInput = HtmlPage.Document.CreateElement("input");
//設定為隱藏
hiddenInput.SetProperty("type", "hidden");
//將值設定為txtTransData的輸入值
hiddenInput.SetProperty("value", txtTransData.Text);
//取定post name 為data
hiddenInput.SetProperty("name", "data");
//加入postform 內
hiddenForm.AppendChild(hiddenInput);
//模擬按下送出
hiddenForm.Invoke("submit");
//這行可加可不加,加這行防止用戶重複點擊
hiddenForm.RemoveChild(hiddenInput);
}
這樣點擊按鈕後就可以送出資料了 …
範例:
範例下載:
標籤:
ASP.net
,
C#
,
Silverlight
-- Yesterday I wrote down the code. I bet I could be your hero. I am a mighty little programmer. 如果這篇文章有幫助到您,簡單留個言,或是幫我按個讚,讓我有寫下去的動力...