PDA

View Full Version : سوال: return کردن در انتهای اکشنی که توسط یه فرم در پارشیال ویو فراخوانی شده



mbasirati
شنبه 21 فروردین 1395, 06:25 صبح
سلام
من یه ویو دارم که یه مدل بهش پاس داده شده و یه سری اطلاعات رو نمایش میده. داخل این ویو یه پارشیال ویو هم دارم که حاوی یه سری تکست باکسه که کاربر باید پر کنه و ارسال کنه (فرم ثبت نام).
یعنی در واقع من داخل این پارشیال ویو یه تگ فرم دارم که قراره اطلاعات رو ارسال کنه.

خب طبیعتا یه اکشنی برای این فرم دارم که اطلاعات رو دریافت میکنه و توی دیتابیس ذخیره میکنه. حالا سوالم اینه که در انتهای این اکشن من چیو باید ریترن کنم؟
چون این اکشن از یه پارشیال ویو فراخوانی میشه و نه ویو.

و البته من میخوام وقتی اطلاعات ثبت شد به جای این پارشیال ویو، یه پارشیال ویوی دیگه نمایش داده بشه و به کاربر پیامی نشون داده بشه که ثبت نام با موفقیت انجام شد.

وهمچنین اگه اعتبارسنجی با خطا بود دوباره همین پارشیال ویو نمایش داده بشه و خطاهای اعتبارسنجی به کاربر نمایش داده بشه

چطور باید این کارو انجام بدم؟

RIG000
شنبه 21 فروردین 1395, 17:17 عصر
For Example :

[HttpPost] public JsonResult CreatePerson(Person person) { ViewBag.Id_ProductPackageCategory = new SelectList(db.ProductPackageCategories, "Id_ProductPackageCategory", "Name", person.Id_ProductPackageCategory); try { if (!ModelState.IsValid) { string messages = string.Join("; ", ModelState.Values .SelectMany(x => x.Errors) .Select(x => x.ErrorMessage)); throw new Exception("Please correct the following errors: " + Environment.NewLine + messages); } db.Persons.AddObject(person); db.SaveChanges(); return Json(new { Result = "OK" }); } catch (Exception ex) { return Json(new { Result = "ERROR", Message = ex.Message }); } }
and you can use ajax request

$.ajax({ url: '/Person/CreatePerson', type: "POST", data: $("#form").serialize(), success: function (responce) { alert(responce.Message); }, error: function (xhr, textStatus) { alert(xhr.status + " " + xhr.statusText); } });
برای اینکه در ای جکسساکس خودت ارشیال ویو رو ریترن کنی تو انترنت بگرد میتونی پیدا کنی. اینکار رو قبلا کردم...به هر حال از ای جکس برای این کار خودت بایستی استفاده کنی.
موفق باشی.

RIG000
شنبه 21 فروردین 1395, 17:17 عصر
نمونه کد بالا رو هم تو استک هست. http://stackoverflow.com/questions/16031800/mvc-4-validation-with-a-partial-view

mbasirati
یک شنبه 22 فروردین 1395, 03:57 صبح
ممنون
روش ای جکسی رو بلدم. میخواستم از روش بدون ای جکس بدونم چطور میشه این کارو انجام داد
به هرحال فعلا از روش ای جکسی کارم رو انجام دادم.