アイデアは、通常の外部 Html ページから別の MVC サイト コントローラーにフォーム データをポストすることです。次に、データは Web サービスを使用するのとほとんど同じように処理されます。
$(document).ready(function () {
var options = {
target: '#output',
success: function(data){ alert('test success'); },
url: http://localhost:57232/Services/SendFormData,
dataType: json
};
$('form').ajaxForm(options);
});
ActionResult は FormCollection オブジェクトでデータを正しく受け取ります。
[HttpPost]
public ActionResult SendFormData(FormCollection collection)
{
string s = string.Empty;
return Json(new { Success = true, Message = "Message!" }, JsonRequestBehavior.AllowGet);
}
この時点で成功の結果が返されますが、外部フォームに到達すると、ブラウザー (この場合は IE) は、成功のコールバック関数を呼び出す代わりに、返されたバイトを保存または開こうとします。
このページは外部ページであり、MVC サイトの一部ではないため、ビューまたは部分ビューを使用できません。戻り値の型は何ですか?