2012-01-18 141 views
1

我正在開發一個windows phone 7的項目。這很簡單,我猜想,但我不太清楚C#特別是C#的wp7。連接到Windows Phone 7的網站

我有這個代碼現有的PHP頁面

<?php 
if(isset($_GET['name'])) { 
    $ssid=$_GET['name']; 
} 
$name .= "Hello"; 
?> 

我想打一個WP7應用程序,我可以在文本中寫一個名字,按下按鈕連接到服務器,在文傳名作爲php參數並在移動屏幕上的另一文本中編寫服務器響應。我怎樣才能做到這一點?

回答

0

創建HttpWebRequest的與您的查詢:

私人無效的MyMethod(行動行動){

HttpWebRequest webRequest = (HttpWebRequest)HttpWebRequest.Create(string.Format("http://website/page.php?name={0}",name)); 
      webRequest.BeginGetResponse((callBack)=>{ 
      HttpWebRequest request = (HttpWebRequest)callBack.AsyncState; 
            WebResponse webResponse = request.EndGetResponse(callBack); 
     using (StreamReader sr = new StreamReader(webResponse.GetResponseStream())) 
        { 
         string response = string.Empty; 
         try 
         { 
          response = sr.ReadToEnd(); 
         } 
         catch (Exception ex) 
         { 
          response = ex.Message; 
         } 
         action.Invoke(response); 

        } 
webResponse.Close(); 

      },webRequest) 

} 其中textresponse是您的服務器響應

+0

非常感謝你......它工作正常;) – Rdb 2012-01-18 19:18:38

+0

只是另一個問題,我怎麼能返回字符串textResponse?返回string.empty或返回字符串textResponse不起作用 – Rdb 2012-01-20 09:08:21

+0

是的,因爲您處於匿名方法。 所以你需要提出一個事件,或者傳遞一個動作,回調到你的方法,然後用響應提高它。我將編輯代碼 – Morti 2012-01-24 17:14:39

2

也許這樣的事情?

POST Request

試試這個(讀的第一個評論壽...筆者做了一個錯字):

Post Request

+0

我GetRequestStream有錯誤... – Rdb 2012-01-18 10:38:55

+0

即時通訊沒有C#程序員...但...錯誤是什麼?你能像printErrorStackTrace一樣嗎? – Stevanicus 2012-01-18 11:23:24

0

試試這個,它可以幫助你

在第一頁或表單,

NavigationService.Navigate(new Uri(「/ Projectname; component/pagename.xaml?name =」+ variable1 +「& country =「+ variable2,UriKind.Relative));

在第二頁或形式

保護覆蓋無效的OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs E)

{

 base.OnNavigatedTo(e); 
     string myname = NavigationContext.QueryString["name"]; 
     string Mycountry = int.Parse(NavigationContext.QueryString["country"]); 

}

'名稱' 和OnNavigatedTo中的'country'與navigationservice相同

通過這種方式,您可以將值從一個頁面發送到另一個頁面。

相關問題