با سلام.
صفحه اضافه کردن محصول را در نظر بگیرید.
من در این صفحه سه تا div دارم. یکی برای نمایش محصولات ، یکی برای اضافه کردن محصول و یکی هم برای ویرایش محصول
توسط جاوااسکریپت این div ها را show و hide می کنم.
آیا این روش درس است یا باید برای هر یک ویو جدا ساخت؟
لطفا راهنمایی نمایید
با تشکر
با سلام
دوست عزیز برای هر یک ، View جدا گانه ایجاد کنید بهینه تر هست زیرا هر دفعه که صفحه لود میشه تمام عناصر نیز در صفحه لود می شوند ، اگر View جداگانه ایجاد کنید سرعت کار بیشتر میشه
برای ویرایش ، کد محصول را توسط tempdata به ویوی ویرایش ارسال می کنیم.
حال اگر صفحه ویرایش را refresh کنیم چون tempdata ای که کد در آن بود خالی است بنابراین پیغام می دهد.
استفاده زیاد از session هم نمی توان انجام داد.
راه حل شما چیست؟
لطفا راهنمایی نمایید
با تشکر
دوست عزیز برای ویرایش شما نیازی نیست که id رو با tempdata ارسال کنید ، شما باید به View یک مدل پر شده ارسال کنید .
کد ویرایش رو قرار دهید تا کد اصلاح شده را براتون قرار بدم
یه نمونه کد براتون قرار میدم شاید کمکتون کنه
public ActionResult Edit(int id = 0) { Movie movie = db.Movies.Find(id); if (movie == null) { return HttpNotFound(); } return View(movie); }
کدهای درون View
@model MvcMovie.Models.Movie @{ ViewBag.Title = "Edit"; } <h2>Edit</h2> @using (Html.BeginForm()) { @Html.ValidationSummary(true) <fieldset> <legend>Movie</legend> @Html.HiddenFor(model => model.ID) <div class="editor-label"> @Html.LabelFor(model => model.Title) </div> <div class="editor-field"> @Html.EditorFor(model => model.Title) @Html.ValidationMessageFor(model => model.Title) </div> <div class="editor-label"> @Html.LabelFor(model => model.ReleaseDate) </div> <div class="editor-field"> @Html.EditorFor(model => model.ReleaseDate) @Html.ValidationMessageFor(model => model.ReleaseDate) </div> <div class="editor-label"> @Html.LabelFor(model => model.Genre) </div> <div class="editor-field"> @Html.EditorFor(model => model.Genre) @Html.ValidationMessageFor(model => model.Genre) </div> <div class="editor-label"> @Html.LabelFor(model => model.Price) </div> <div class="editor-field"> @Html.EditorFor(model => model.Price) @Html.ValidationMessageFor(model => model.Price) </div> <p> <input type="submit" value="Save" /> </p> </fieldset> }
هیچ کاربری تا کنون از این پست تشکر نکرده است
با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)