مرجع تخصصی برنامه نویسان

انجمن تخصصی برنامه نویسان فارسی زبان

کاربر سایت

ofoghcomputer

عضویت از 1393/07/15

آیا نمایش و آپدیت و تعریف محصول در یک ویو باشد درست است؟

  • پنجشنبه 11 شهریور 1395
  • 20:09
تشکر میکنم

با سلام.

صفحه اضافه کردن محصول را در نظر بگیرید.

من در این صفحه سه تا div دارم. یکی برای نمایش محصولات ، یکی برای اضافه کردن محصول و یکی هم برای ویرایش محصول

توسط جاوااسکریپت این div ها را show و hide می کنم.

آیا این روش درس است یا باید برای هر یک ویو جدا ساخت؟

لطفا راهنمایی نمایید

با تشکر

پاسخ های این پرسش

تعداد پاسخ ها : 3 پاسخ
کاربر سایت

افشین ایمانی زاده

عضویت از 1393/12/24

  • پنجشنبه 11 شهریور 1395
  • 20:15

با سلام

دوست عزیز برای هر یک ، View جدا گانه ایجاد کنید بهینه تر هست زیرا هر دفعه که صفحه لود میشه تمام عناصر نیز در صفحه لود می شوند ، اگر View جداگانه ایجاد کنید سرعت کار بیشتر میشه

کاربر سایت

ofoghcomputer

عضویت از 1393/07/15

  • پنجشنبه 11 شهریور 1395
  • 20:20

برای ویرایش ، کد محصول را توسط tempdata به ویوی ویرایش ارسال می کنیم.

حال اگر صفحه ویرایش را refresh کنیم چون tempdata ای که کد در آن بود خالی است بنابراین پیغام می دهد.

استفاده زیاد از session هم نمی توان انجام داد.

راه حل شما چیست؟

لطفا راهنمایی نمایید

با تشکر

کاربر سایت

افشین ایمانی زاده

عضویت از 1393/12/24

  • پنجشنبه 11 شهریور 1395
  • 21:19

دوست عزیز برای ویرایش شما نیازی نیست که 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>
}

 

کاربرانی که از این پست تشکر کرده اند

هیچ کاربری تا کنون از این پست تشکر نکرده است

اگر نیاز به یک مشاور در زمینه طراحی سایت ، برنامه نویسی و بازاریابی الکترونیکی دارید

با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)