سلام. سه دگمه Submit روی view من به حالت Partial هستند.
کد View بصورت زیر می باشد
<div style="display:@ViewBag.modeNew"> <div class="alert alert-warning"> @*@Html.Partial("Create", new Project_Model.DT.Behavior())*@ @{Html.RenderAction("Create", "Behavior", "Index");} </div> </div> <div style="display:@ViewBag.modeEdit"> <div class="alert alert-warning"> @{Html.RenderAction("Edit", "Behavior", "Index");} </div> </div> <div style="display:@ViewBag.modeDel"> <div class="alert alert-warning"> @{Html.RenderAction("Delete", "Behavior", "Index");} </div> </div>
کد سمت کنترلر بصورت زیر می باشد
[HttpPost] public ActionResult Create(Project_Model.DT.Behavior modelObj) { Project_Controller.Class_Controller.Behavior_DT db = new Project_Controller.Class_Controller.Behavior_DT(); if (Request.Form.AllKeys.Contains("Command")) { if (Request.Form["Command"] == "Create") { string connectionString = System.Configuration.ConfigurationManager.ConnectionStrings["ProjectDataContext"].ConnectionString; SqlConnection conn = new SqlConnection(connectionString); SqlCommand cmd = new SqlCommand("Behavior_InsertCheck", conn); cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.AddWithValue("@Caption", modelObj.Caption); int SavedCount = 0; SqlDataReader dr; try { conn.Open(); dr = cmd.ExecuteReader(); while (dr.Read()) // Check the Caption in Stored Procedure to prevent repeated data { SavedCount = Convert.ToInt32(dr["Caption"]); } if (SavedCount == 0) { if (ModelState.IsValid) { db.Create_Behavior(modelObj); } } } catch (Exception ex) { ex.ToString(); //return View(); } finally { if (conn.State == ConnectionState.Open) conn.Close(); conn.Dispose(); cmd.Dispose(); } } if (Request.Form["Command"] == "Edit") { if (ModelState.IsValid) { db.Edit_Behavior_Post(modelObj); } } if (Request.Form["Command"] == "Delete") { db.Delete_Behavior_Post(modelObj); } } return View(); //return View("Index"); //return View("Index", db.Index()); //return RedirectToAction("Index"); }
مشکل به اینصورت است که اکشن من به حالت بینهایت پس از انجام صحیح کار ، تکرار می شود و برنامه از کار میوفتد.
با تشکر از کمک شما
یک نمونه پروژه ضمیمه کنید تا بتونم تست کنم و مشکل رو پیدا کنم
با سلام. فایل ضمیمه که کنترلر مربوط به behavior با مشکل برخورد کرده است. به دلیل حجیم شدن فایل کلیه فایلهای رفرنس حذف شد تا ارسال نمونه با مشکل مواجه نشود
یافتم. ممنونم
فقط باید در قسمت view کد زیر را اضافه می کردم
@if (IsPost) { <div> @{ Response.RedirectToRoute(routeName: "Default");} </div> }
هیچ کاربری تا کنون از این پست تشکر نکرده است
با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)