問題タブ [unobtrusive-ajax]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
jquery - 部分的な更新のための ajax.beginform と unobtrusive-ajax.js の代替は何ですか?
私はアプリケーションのさまざまな場所で Ajax.Beginform と unobtrusive-ajax.js を使用しました。JQuery 1.7 ライブラリを使用するまで、これはすべて正常に機能していました。ただし、それらを JQuery 1.9.0 にアップグレードした後、これは機能しなくなりました。また、unobtrusive-ajax のバージョンをアップグレードして (.live を .on() メソッドに置き換えました)、それでも機能しません。
最近、Ajax.Beginform と unobtrusive-ajax は適切なアプローチではないことを示唆する投稿に出くわしました。その場合、部分的な更新を行う最善の方法は何ですか。私のビューには「検索」ボタンがあり、ユーザーが「検索」をクリックすると、ページの特定の部分のみが更新されます。Ajax Form と unobtrusive-ajax.js を使わずにどうやってそれを達成するのでしょうか?
ajax - mvc 3 の目立たない ajax で結果が表示されない
mvc 3 の目立たない ajax を使用して、小さな ajax を実装しようとしています。コード スニペットは次のとおりです。
コントローラ:
意見:
コードをデバッグし、従業員 ID を ViewEmployee メソッドに送信し、名前を見つけましたが、名前をビューに表示できませんでした。
web.config で目立たない ajax プロパティを有効にし、スクリプトをビューにインポートしました。
これで何がうまくいかないのですか?助けてください。
asp.net-mvc-4 - 目立たない ajax フォームにより、キャンセル ボタンが投稿されないようにする
質問: コントローラへのキャンセル ボタンのポストがサブミットのようになるのはなぜですか?
以下のフォームを部分ビューからロードしました。送信は正常に機能します。私が苦労してきた唯一のことは、キャンセルがフォームを却下しない理由です。クリックイベントをキャプチャするなど、さまざまなことを試しました。可能な解決策としてhttp://jimmylarkin.net/post/2012/05/16/Broken-Validation-on-Cancel-Buttons-With-Unobtrusive-Validation-Ajax.aspxを見ましたが、これが対処しようとしている問題。私の無知であることは間違いありません。それで、私は何のボーンヘッドが欠けていますか?
asp.net-mvc - 目立たない ajax イベントでのフォーム要素へのアクセス
目立たない ajax を使用している特定のフォームの ajax コールバックにフックしたいと思います。ajax 呼び出しは、目立たない ajax を使用するこの標準形式では問題ありません。
私の最初のアプローチはこれでした:
しかし、それはうまくいかないようです。このアプローチはハンドラーにヒットしますが、目的のフォームだけではありません。ただし、すべての ajaxComplete イベントに対して。
次のオプションは、「data-ajax-success」を使用することです。しかし、それはフォームコンテキストを提供していないようです。
質問: ajaxComplete イベントを 1 つのフォームだけに排他的に接続するにはどうすればよいですか。
注: URL を一致させたり、一意の ID をクエリに追加したりするなどの回避策は避けたいと思います。
ありがとう!
ajax - MVC 控えめな AJAX、返される Json データ、および IE
そのため、この「IE は、Ajax 経由で返された Json データのダウンロード ファイル ダイアログを開きます」( this oneまたはthis oneのように) 全体について多くの質問がありますが、控えめな Ajax を使用する人に対する回答は見つかりませんでした。
次のような単純な Ajax.BeginForm を実行します。
これにより、コンテンツ タイプが「application/x-www-form-urlencoded; charset=UTF-8」のフォームが投稿されます。コントローラーはフォームを処理し、エラーが発生した場合は、コンテンツ タイプが "text/html" の PartialView を返し、その HTML が ContentContainer に入れられます (AjaxOptions の "UpdateTargetId" プロパティのため)。
エラーがなく、ユーザーが正常にログインした場合、リダイレクト先の URL を含む Json が返されます。したがって、コントローラーでは、次のようになります。
IE8 でダウンロード ダイアログがポップアップする原因になっていることをユーザーから通知してもらったことを除いては。同じ問題に関する他のすべての質問を読んだ後、なぜこれが起こっているのか理解できましたが、これらの状況の修正は、代わりにこの Json リターンを使用することです。
問題は、このように戻ると、サーバーからの応答が HTML であることが Unobtrusive Ajax によって認識され、UpdateTargetId コンテナー内のコンテンツが置き換えられることです。サーバーが「application/json」で応答する場合、これは行われません。
これを回避する方法はありますか?
(これ以上説明する必要がありますか?)
jquery - IE のバージョンに応じて異なるスクリプト バージョンをロードする
私は、IE 7 から IE 10 までと互換性がなければならない asp.net mvc 4 Web アプリケーションを持っています。使用する IE によっては、いくつかのスクリプト バージョン (jquery など) に問題があるため、ルート スクリプト フォルダーの下にOlderIE という名前の新しいフォルダー。IE 7 を使用する場合、OlderIE フォルダー内のスクリプトをロードする必要があります。また、IE > 7 を使用している場合は、Scripts ルート フォルダー内のスクリプトが読み込まれるようにします。では、これを行う方法は?
これに関連して、asp.net mvc 4 プロジェクトに異なるバージョンのスクリプト (jQuery、jQuery unobtrusive など) をインストールし、IE のバージョンに応じてそれらを使用することは可能ですか?
更新: IE >= 8 を使用するときに jquery-1.9.1 とそのすべての依存関係を使用しているため、これが必要ですが、IE 7 では機能しません。目立たないなど)。だから私はこれを行う方法を知りたいです。同じプロジェクトで複数のバージョンの jquery、jquery unobtrusive などをインストールすることは可能ですか? もしそうなら、これを行う方法と、使用されているIEに応じて正しいものをロードする方法は?
c# - MVC 3、C#、および unobtrusive-ajax を使用して、ユーザーがブラウザの後方および前方機能を使用できないようにする
問題: ユーザーがブラウザの前後の機能を使用できないようにします。
使用: MVC 3 C# Microsoft Visual Studio 2010 .net フレームワーク 4.0 unobtrusive-ajax
私は Html.BeginForm と友人を使用して、さまざまなモデルオブジェクトをパラメーターとして受け取るコントローラーメソッドなど、通常の方法で動作する MVC3 アプリケーションを持っています。ユーザーがブラウザの前後のナビゲーション機能を使用して、期待される機能フローを妨げることができる場合を除いて、すべて正常に機能します。この特定のアプリケーションでは、これが可能であってはならないことが最も重要です。
これまでのところ、自家製の FSM (Finite State Machine) を使用して、ユーザーの状態と互換性のないアクションを選択しようとする試みを傍受することで、問題を「解決」しました。ブラウザのナビゲーションを使用できません。これは本当にユーザーフレンドリーではありません:-)
私は今、控えめな ajax を使用して問題を解決しようとしています (Ajax.BeginForm)。Html.BeginForm を使用する場合のように、モデル データを前後に移動しようとするまで、すべて正常に動作します。ビュー/ビューモデル/CustomValidation を使用したモデルとサーバー側の検証に関する既存のプログラム コードが多数あり、可能な Ajax ソリューション バリアントで保持したいと考えています。
この最初の scheleton は美しく機能します (詳細は削除されています)。
CommandDispatcher.cshtml ビュー:
SomeAction001.cshtml 部分ビュー:
SomeAction002.cshtml 部分ビュー:
コントローラ:
このシナリオをその中のデータでも機能させるには :-)、モデルのレンダリングと検証機能を追加する必要があります。
モデルをブラウザーに送信することは問題ありません。これは、次の部分ビューへの追加によって例示されます。@Html.Raw((model as MyViewModel).Field1)
これは、期待どおりにレンダリングされます。私が思う問題は、ブラウザからコントローラへの方向です。
そのような機能を導入するにはどうすればよいですか?