2011-03-04 17 views
0

iPhoneアプリケーションからサーバーのASp.Net Webページにいくつかの値を送信したいとします。私はそのためにasihttpを使用しています。そのリクエストを処理し、サーバー上でページを呼び出します。しかし、値のどれもサーバー側で取得されません。以下はiPhoneアプリのコードです。ASIHttpを使ってiPhoneから値を投稿するには?

NSURL *url = [NSURL URLWithString:urlString]; 

    ASIFormDataRequest *request = [[[ASIFormDataRequest alloc] initWithURL:url] autorelease]; 
[request setPostValue:@"abc" forKey:@"from"]; 
    [request setPostValue:@"abc" forKey:@"name"]; 
    [request setPostValue:@"abc" forKey:@"phone"]; 
    [request setDelegate:self]; 
    [request startSynchronous]; 

私はasp.net C#を使用しています。これは、値を取得するためのコードです。しかし、私はemtpy文字列を取得していますか?

sendMail(Request.QueryString["name"],Request.QueryString["from"],Request.QueryString["phone"]); 

誰か助けてください。

+0

リクエストからの応答をNSログアウトしてみてください。 [request responseData]を使用します。 – Jensen2k

答えて

2

私はRequest.QueryString["name"]はポストパラメータを取得するとは思いません。クエリ文字列にパラメータを含めるようにASIHttpRequestを変更するか、postパラメータを期待するようにASP.NETコードを変更する必要があります。

サーバ側でRequest.Form["name"],Request.Form["phone"]などを試すことができます。

それとも、あなたが試みることができる:クライアント側で

NSURL *url = [NSURL URLWithString:[NSString stringWithFormat:@"%@?name=%@&...",urlString,name,...]; 
ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:url]; 

+0

ありがとう....それはRequest.Form ["名前"]で正常に動作します。 – Zach

+1

Request.QueryStringは、GETパラメータを取得するためのものです。 .NETでMVCを使用している場合は、メソッドを[HttpPost]として注釈を付け、メソッドシグネチャのパラメータを定義するだけです。 –

関連する問題