0

私は、アプリケーションがサードパーティのアプリケーションに接続する必要があるこのプロジェクトに取り組んでいます。私の歩み

  1. データを送信するためのフォームを作成します。
  2. MYコントローラーアクションでフォームデータを取得します。必要な変数をデータベースに保存します。
  3. 次に、データをサードパーティ アプリケーションに送信します。

ここでの問題は、送信フォームとしてデータを送信する必要があることです。サード パーティ アプリは値を次のように受け取ります。

Request.form("FormVal")

no changesサードパーティアプリケーションを作成できます。

では、どうやってForm data through my Controller actionThird Party application?

また

return view("action", model); // the model is needed to be sent.

自分のアプリケーションのビューで機能します。ただし、モデルを使用して外部ビュー(サードパーティ)に送信する必要があるため、価値を得ることができます

Request.form("FormVal")

コマンドはRedirect外部ビューに移動できますが、一緒に送信できませんform Data

4

2 に答える 2

1

HttpClientを使用して、サードパーティ アプリケーションにデータを送信できます。

このような:

  var formValues = new Dictionary<string,string>();
  formValues.Add("Key", "Value");
  HttpResponseMessage response = await httpClient.PostAsync(thirdPartyUrl, new FormUrlEncodedContent(formValues));
  response.EnsureSuccessStatusCode();
  string responseBody = await response.Content.ReadAsStringAsync();

編集:

.NET Framework 4.5 を使用していない場合は、代わりにWebClient.UploadValuesを使用できます。

 byte[] responseArray = myWebClient.UploadValues(thirdPartyUrl,myNameValueCollection);
于 2013-05-05T07:40:00.100 に答える
0

それHttpResponseMessageは私が実際に望んでいたものではありませんでした。また、リダイレクトする必要がありました。そのため、これにはjavascript/jqueryを使用しました。

2 つのビューを作成しました

  1. 1 つ目はユーザー入力ビューです。
  2. 2 番目はリダイレクト ビューです。

コントローラーに投稿した最初のビューから、コントローラーアクションからリダイレクトビューを呼び出します

return view("redirectView", model);

Redirect ビューで、inputs を隠したフォームを作成しまし

@HiddenFor(m=>m.SomeValue)

次に、ページの読み込み時に、 javascriptを使用してフォームを送信しました。

$("form#formID").submit();

これは今私のために働きます。また、この問題を理解させてくれた Kambiz にも感謝します。

于 2013-05-06T10:53:50.217 に答える