PDA

View Full Version : تکرار شدن داخل action بعد از انجام عملیات با رفرش form



navidiran
دوشنبه 04 آبان 1394, 06:11 صبح
سلام
پس از ثبت اطلاعات حین و refresh شدن فرم ، دوباره اکشن فعال میشود.


<div><div class="alert alert-warning">
@{ Html.RenderAction("Create", "Behavior", "Index"); } </div>


صفحه ثبت بصورت partial در فرم قرار داده شده است.

[HttpPost] public ActionResult Create(Project_Model.DT.Behavior modelObj)
{
Project_Controller.Class_Controller.Behavior_DT db = new Project_Controller.Class_Controller.Behavior_DT();
Project_Model.DT.Behavior model = new Project_Model.DT.Behavior();

string connectionString = System.Configuration.ConfigurationManager.Connecti onStrings["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();
}

return View("Index", db.Index()); }


خط مشخص شده پایین کد هم به خاطر اینکه اطلاعات جدید ثبت شده ، در گرید نمایش داده شوند ، به اینصورت نوشته شده است.
در صورتی که ()return view نوشته شود دیگر خطای تکرار پیش نمیآید ولی اطلاعات جدید ثبت شده هم نمایش داده نمیشوند و باید صفحه را دستی Resresh کرد.

در کل الان داخل اکشن بصورت بینهایت تکرار میشود.

دوستان لطفا راهنمایی کنید.