2

モーダルポップアップの使用方法を理解するのに多くの時間を費やしましたが、まだ良い答えが見つからないか、完全に機能するコードを述べる必要があります.

MVC HTTPGET、HTTPPOST メソッドを使用するアプローチを探しています。Javascript または Ajax では、ハードコーディングされたプロパティ名を使用しないでください。

これが私が今まで達成できることです:
ここに画像の説明を入力

私はAJAX、JQUERYにかなり慣れていません

主なエラー:ここで [保存] ボタンを適切に使用できません。つまり、Internet Explorer と Chrome では HTTPPOST アクションが呼び出されませんが、Firefox では機能します。

  1. このリンクに基づいてアプローチしますが、Internet Explorer ではうまくいきませんでした。問題: Internet Explorer または Chrome で HTTPPOST アクションが呼び出されない
  2. 彼の完全な記事に従おうとしましたが、JSON の使用方法と検証の実行方法が気に入りませんでした。
  3. Jquery UI モーダル フォーム: このような機能を使用したいが、ASP.net MVC4 HTTP GEt および HTTP POST を使用する方法がわかりません。
  4. このデモも試してみましたが:(
  5. これは良かったです。彼の完全なソース コードを使用して実装しようとしましたが、それでも機能しませんでした
  6. ASP.net MVC Modalこれには期待が大きすぎました。ダウンロードして、2〜3時間後にすべてを実装しようとしましたが、これでも「すぐに使用できる」とは言えません。それについての詳細情報
  7. コード プロジェクト: 3 つの jquery モーダルの比較ASPX にありましたが、それでも実装しようとしました。(うまくいきませんでした:()

他のいくつかのソリューションを試しましたが、それぞれに独自の問題があります。これらの投稿の一部は古く、jquery のバージョンではいくつかのコントロールが廃止されている可能性があります。

この機能はかなり使用され、議論されているため、誰かが動作するコードを持っている場合は共有してください.

コードここに私の完全なコードがあります: http://pastebin.com/yNH7CFTS

エラー ヒントこれが問題なのかどうかはわかりませんが、Internet Explorer で [保存] ボタンを押すとダイアログが閉じ、HTTPPost アクションが呼び出され、ブラウザの URL は次のようになります。

http://localhost:53381/Project/Details/1?ProjectId=1&Effort=0&Cost=56  

値1、0、56はテキストボックスに入力したものです

誰でも RESTFUL メソッドを使用して asp.net MVC の MODAL / POPUP の完全な回答を投稿できます。

4

3 に答える 3

0

$.post jquery メソッドを使用して、次のように httppost コントローラー アクションを呼び出します。

$.post(
    "addressofaction",
        {}).done(function () {
            alert("do something"
            })
        }).fail(function () {
            alert("error");
        })
于 2013-07-03T22:44:57.173 に答える
0

私はそれをテストできませんでした。多くのカスタマイズを含む Web アプリ用に以前に書いたコードを可能な限り単純化しただけです。

意見

@using (Html.BeginForm("PostAction", "A" , FormMethod.Post ,new { @class = "modal-form", id = "asd" }))
{
<div class="modal-header">Header</div>
<div class="modal-body">
.........
<div class="modal-footer">
<button class="btn" data-dismiss="modal" aria-hidden="true">Close</button>
<button type="submit" class="btn btn-success">Save</button>
}

AControllerとしましょう

[HttpPost]
public JsonResult PostAction(PostModel model)
{
    return Json(true);
}

および最新バージョンのjQuery

$(document).on("submit", 'form.modal-form', function (e)
{
   e.preventDefault();
   var form = $(this);
   $.ajax({
                url:form.attr("action"),
                type:"POST",
                data:form.serialize(),
                contentType:"application/json; charset=utf-8",
                success: function(result){
                    if (result) {
                           //Returns true
                    }
                    else {
                        //Returns false
                    }
                }
            });
}
于 2013-07-03T22:45:55.943 に答える