0

作成するさまざまなフォームが割り当てられているプロジェクトで作業しています。送信ボタンを使用して新しいレコードを追加すると、3回重複または投稿され、その理由がわかりません。単純な関数でjavascriptを使用すると問題を解決できますが、javascriptを使用せず、デフォルトのタイプ="submit"を使用するように言われました。コントローラーにコードを渡し、何が問題なのかを確認できます。前もって感謝します!これは投稿方法です:

 [HttpPost]
    public ActionResult Edit(int countryId, FmCountry fmCountryToPost)
    {
        ViewData.Model = fmCountryToPost;
        LoadProperty(fmCountryToPost, FmCountry._countryIdProperty, countryId);
        if (fmCountryToPost.BrokenRulesCollection.Count > 0)
        {
            ViewData.ModelState.Clear();
            ViewData.ModelState.AddRange(GeneralFunctions.AddObjectBrokenRulesToModelState(fmCountryToPost.BrokenRulesCollection));
            Log.Info("Gabim me editimin e qytetit, kontrolli i BrokenRules" + fmCountryToPost.BrokenRulesCollection);
            return PartialView();
        }
        else
        {

            if (countryId == 0)
            {

                if (SaveObject(fmCountryToPost, false))
                {
                    Log.Info("Shteti u shtua me sukses. Parametra: countryId=" + countryId);
                    return RedirectToAction("Index", new { succesMessage = "Shteti u shtua me sukses" });
                }
                else
                {
                    ViewData.ModelState.Clear();
                    Log.Info("Ka Ndodhur nje gabim ne shtimin e Shtetit. Parametra: countryId=" + countryId);
                    ViewData.ModelState.AddModelError("", Resources.Resource.CONTROLLER_ERROR);
                    return PartialView();
                }
            }
            else
            {

                if (SaveObject(fmCountryToPost, true))
                {
                    Log.Info("Shteti u editua me sukses. Parametra: countryId=" + countryId);
                    return RedirectToAction("Index", new { successMessage = "Shteti u modifikua me sukses" });
                }
                else
                {
                    ViewData.ModelState.Clear();
                    Log.Info("Ka Ndodhur nje gabim ne editimin e Shtetit. Parametra: countryId=" + countryId);
                    ViewData.ModelState.AddModelError("", Resources.Resource.CONTROLLER_ERROR);
                    return PartialView();
                }
            }
        }
    }
4

0 に答える 0