1

ASP.net MVC 2.0 アプリケーションに取り組んでいます。

フォームがあり、データを入力した後、ユーザーは送信をクリックします。

ここでは、enitreポストバックを行いたくありません。フォームデータを対応するコントローラーメソッドに送信し、同じページに応答を挿入して送信するためのajaxリクエストを作成したいだけです。

私はMVC 2.0を使用しているため、AJax.beginFormを使用できません。jquery Ajax メソッドに依存する必要があります。

これについて助けてください。

強く型付けされたビューを使用しています。

4

3 に答える 3

3

これを試して、

以下のコードでは、モデルを初期化し、そのモデルを投稿します。

var returnValue = new Object();//dynamically fill model value with different model entity
            returnValue.vendorSiteSustainabilityList = VendorSiteSustainability;
            returnValue.VendorSiteId = '@Model.VendorSiteId';
            returnValue.ServiceTypeId = '@Model.ServiceTypeId';
            returnValue.HaulerName = $("#HaulerName").val();
            returnValue.FacilityName = $("#FacilityName").val();
            returnValue.CityId = parseInt($("#CityId").val());
            returnValue.StateId = parseInt($("#StateId").val());
            returnValue.CoutryID = parseInt($("#CoutryID").val());

            var request = $.ajax({
                url: '',
                type: 'POST',
                cache: false,
                data: JSON.stringify(returnValue),
                dataType: 'json',
                contentType: 'application/json; charset=utf-8'
            });

            request.done(function (msg) {

                if (msg != null && msg.IsValid != null) {

                    if (msg.IsValid == true) {
                        //write code when your data successfully operated
                    }
                }
            });

モデル宣言:

[Serializable]
    public class myModel
    {}

コントローラ:

[HttpPost]
        public ActionResult SaveAction(myModel model)
        {
            if (model != null && ModelState.IsValid)
            {

            }
            return Json(new { IsValid = ModelState.IsValid });
        }
于 2013-10-21T08:14:12.257 に答える