「[[マイクロソフト系技術情報 Wiki>http://techinfoofmicrosofttech.osscons.jp/]]」は、「[[Open棟梁Project>https://github.com/OpenTouryoProject/]]」,「[[OSSコンソーシアム .NET開発基盤部会>https://www.osscons.jp/dotNetDevelopmentInfrastructure/]]」によって運営されています。 * 目次 [#gd9749e9] #contents *概要 [#kbc4bb11] クライアント・サイドのJavaScriptフレームワークとシームレスに連動して部分更新を実現する仕組み。 *詳細 [#pc6b778b] **[[ASP.NET Web Forms]]のUpdatePanel [#d17020b0] ***特徴 [#kd18543f] -UpdatePanelを敷いた部分が部分更新となる。 -ソレ以外の部分は、全体更新と成る。 -仕組みとしては、 --部分更新イベントで全情報がポストバックされ、 --対象となるイベント・ハンドラが実行され、 --部分更新される部分のHTMLが返され、 --返されたHTMLがレンダリングされる。 ***参考 [#qf721b2a] -@IT --[ASP.NET AJAX]UpdatePanelコントロール利用時の注意点とは?[2.0のみ、C#、VB]~ https://www.atmarkit.co.jp/fdotnet/dotnettips/672aspajaxasyncpost/aspajaxasyncpost.html --第2回 PageRequestManagerクラスでUpdatePanelコントロールを極める!(1/5)~ https://www.atmarkit.co.jp/fdotnet/ajaxlib/ajaxlib02/ajaxlib02_01.html **[[ASP.NET MVC]]のAjax.BeginForm [#w8ca59e1] ***特徴 [#u74ece16] -[[Html.BeginForm>ASP.NET MVCの用語#w59fdfea]]と --モジュール構造は大きく変わらない。~ (部分ビューは、共通化目的でHtml.BeginFormにも存在する。) --ただし、以下のように動作は大きく異なる。 ---jQueryを使用してリクエストし、 ---更新部位のレスポンスを受けてJavaScriptで描画。 -部分更新のターゲットを意識する必要がある。 --送信時に設定したターゲット以外を更新しようとして、結果的に画面遷移する場合、 --RedirectToAction・RedirectToRoute等でActionResultを返すことが出来ないので、~ JavaScriptResult等でJavaScriptを返し、画面遷移をする必要がある。 ***disconへ。 [#m5bf5f25] 以下の[[問題>#s614e4ce]]が大きかったのか、[[ASP.NET Core MVCで、disconとなっている>ASP.NET Core MVC#g4420705]]。 ***参考 [#c8ae6c29] -連載:ASP.NET MVC入門:第3回~ ActionResultオブジェクトでアクション操作も自由自在 (4-5) - @IT~ http://www.atmarkit.co.jp/ait/articles/0907/10/news109_4.html >その性質上、Ajax通信の結果をページの一部に~ 反映させるようなケースで利用することになるだろう。 -ASP.NET MVC で Ajax を使った時の書き方に悩んだ - dunno logs~ http://dany1468.hatenablog.com/entry/2013/01/08/144546 **問題点 [#s614e4ce] **部分描画の問題点 [#s614e4ce] ***懸念 [#i25df518] もともと、[[ASP.NET Web Forms]]のUpdatePanelでは、 -ScriptManagerがブラックボックスで -他のJavaScriptに干渉する可能性があり。 -危なっかしくて触りたくない感があった。 ***実際 [#ob4d36e0] 実際のトコロ、 -JavaScriptの挙動の分析が困難になり、~ 特に、サーバー側でJavaScriptを生成してUIを制御しているとき~ 問題発生時のトラブルシュートが難しくなることがある。 -部分描画では、ブラウザがレスポンス待ちかどうかユーザが識別できず、~ レスポンスに時間が抱えるケースで、UXが低下するという問題を生んだ。