[解決済み] ASP.NET MVCのAjaxレスポンスがUpdateTargetIdにビューを挿入する代わりに新しいページにリダイレクトされるようにするには?
2023-02-21 06:15:54
質問
Ajax.BeginFormを使用して、特定のコントローラアクションにAjaxポストバックを行い、アクションが成功した場合、ユーザーを別のページにリダイレクトするフォームを作成しています (アクションが失敗した場合、AjaxOptions UpdateTargetIdを使用してステータスメッセージを表示します)。
using (Ajax.BeginForm("Delete", null,
new { userId = Model.UserId },
new AjaxOptions { UpdateTargetId = "UserForm", LoadingElementId = "DeletingDiv" },
new { name = "DeleteForm", id = "DeleteForm" }))
{
[HTML DELETE BUTTON]
}
削除が成功した場合は、Redirectの結果を返しています。
[Authorize]
public ActionResult Delete(Int32 UserId)
{
UserRepository.DeleteUser(UserId);
return Redirect(Url.Action("Index", "Home"));
}
しかし、ホームコントローラインデックスビューはUpdateTargetIdに読み込まれるため、ページの中にページがあるような状態になってしまっています。 考えていることは2つ。
- 私がこれを設計しているかどうか 間違っており、このタイプのアクションを別の方法で処理する必要がある アクションを別の方法で処理する必要があります(ajaxを使用しない)。
- Redirect の結果を返す代わりに javascriptを含むビューを返します。 クライアント側でリダイレクトを行う javascript を含むビューを返します。
どなたか#1についてコメントをお持ちですか? あるいは、#2 が良い解決策である場合、"redirect javascript view" はどのように見えますか?
どのように解決するのですか?
この場合
JavascriptResult
を使って実現します。
リダイレクトするために
return JavaScript("window.location = 'http://www.google.co.uk'");
現在のページを再読み込みする。
return JavaScript("location.reload(true)");
最もシンプルな選択肢のように思えます。
関連
-
[解決済み] [Solved] 1つ以上のエンティティで検証に失敗しました。詳細は'EntityValidationErrors'プロパティを参照してください [重複]。
-
[解決済み] エンティティタイプ ApplicationUser は、現在のコンテキストのモデルの一部ではありません。
-
[解決済み】ここで「要求URIに一致するHTTPリソースが見つかりませんでした」となるのはなぜですか?
-
[解決済み】"The ConnectionString property has not been initialized "を修正する方法
-
[解決済み】Sequence contains no matching element(シーケンスにマッチする要素がない
-
[解決済み】ユーザー設定値を別のユーザー設定値で設定する
-
[解決済み】Nullableオブジェクトは値を持たなければならない?
-
[解決済み] ELMAHをASP.NET MVCの[HandleError]属性で動作させる方法は?
-
[解決済み] ASP.Net MVCのmodelStateからすべてのエラーを取得する方法は?
-
[解決済み] ASP.NET MVCのビューを文字列としてレンダリングする方法は?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】"The ConnectionString property has not been initialized "を修正する方法
-
[解決済み】トランスポート接続からデータを読み取れない:既存の接続は、リモートホストによって強制的に閉じられました。
-
[解決済み】Sequence contains no matching element(シーケンスにマッチする要素がない
-
[解決済み】ORA-01008: すべての変数がバインドされていません。これらはバインドされています。
-
[解決済み】なぜこのコードはInvalidOperationExceptionを投げるのですか?
-
[解決済み】値をNULLにすることはできません。パラメータ名:source
-
[解決済み】Linq 構文 - 複数列の選択
-
[解決済み] 2つのリストを結合する
-
[解決済み】ファイルやアセンブリ、またはその依存関係の1つをロードできませんでした。
-
[解決済み】Microsoft.Extensions.LoggingからILoggerを解決することができない