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

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

کاربر سایت

سمیه زرنگ

عضویت از 1395/04/26

helper dropdownlist

  • شنبه 16 بهمن 1395
  • 13:48
تشکر میکنم

با سلام خدمت اعضای گرامی

من یه مشکلی با helper dropdownlist دارم ممنون میشم اگه راهنماییم کنید:

می خوام مقداری که در drop توسط کاربر انتخاب میشه رو به کنترلر بفرستم البته نه با باتن بلکه از طریق رفرش صفحه که با انتخاب آیتم دراپ دان صورت میگیره؟

using (Html.BeginForm())
                {
                    @Html.DropDownList("num", null, new { @onchange = "this.form.submit();" })
                }

این کد رو نوشتم ولی جواب نمیده!!

و یه سوال دیگه اینکه توی همون صفحه اگه بخوایم این مقدار انتخابی رو توی session بذاریم چجوریه؟

با سپاس....

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

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

ایمان مدائنی

عضویت از 1392/01/20

  • شنبه 16 بهمن 1395
  • 14:04

منظورتون رو متوجه نشدم

با رفرش ؟ خب این همون پست کردن میشه

حالا اگر نمیخهواهید با دکمه انجام بشه میتونید با جی کوئری برای رویداد Change در DropDown کاری کنید بعد از تغییر صفحه پست بشه

کاربر سایت

سمیه زرنگ

عضویت از 1395/04/26

  • یکشنبه 17 بهمن 1395
  • 10:36

بله همون پست کردن، منظورم این بود که با دکمه نباشه

جی کوئری بلد نیستم آخه :( :(

کاربر سایت

ایمان مدائنی

عضویت از 1392/01/20

  • یکشنبه 17 بهمن 1395
  • 10:40
$(function() {
    $('#themes').change(function() {
        this.form.submit();
    });
});

کاربر سایت

سمیه زرنگ

عضویت از 1395/04/26

  • یکشنبه 17 بهمن 1395
  • 11:57

این کد رو توی همون کد اولی که براتون گذاشتم نوشتم این کد فقط میاد صفحه رو پست بک میکنه مقدار انتخابی دراپ دان لیست رو نمیفرسته به کنترلر... من میخوام همزمان با پست بک، اون آیتم انتخاب شده هم بره به یکی از کنترلرهام

کاربر سایت

ایمان مدائنی

عضویت از 1392/01/20

  • یکشنبه 17 بهمن 1395
  • 12:01

تمامی مقادی به ادرس Action در تگ Form ارسال میشوند

باید در اکشنی که در form تعیین کردید دریافت کنید

کاربر سایت

سمیه زرنگ

عضویت از 1395/04/26

  • یکشنبه 17 بهمن 1395
  • 12:41

ممنونم

فقط عذر میخوام میشه بفرمایید اون themes که توی کد مربوطه نوشتید چیه؟

سپاس

کاربر سایت

ایمان مدائنی

عضویت از 1392/01/20

  • یکشنبه 17 بهمن 1395
  • 12:51

اون ID المان یا همان DropDown هست

کاربر سایت

سمیه زرنگ

عضویت از 1395/04/26

  • چهارشنبه 20 بهمن 1395
  • 10:35

دوست عزیز من هنوز یه مشکل دیگه دارم ...

حالا چجوری به این مقدار انتخاب شده که ارسال شده تو اکشن دسترسی پیدا کنم؟

الان این کد رو گذاشتم صفحه پست بک میشه و شما فرمودید در واقع مقدار هم ارسال میشه به اکشن الان برای اون اکشن یه متغیر ورودی در نظر گرفتم، گفتم احتمالا خودش میره تو اون متغیر، ولی متغیر همچنان خالی می مونه

پس چطوری تو اکشن بگیرمش؟؟

با سپاس

کاربر سایت

ایمان مدائنی

عضویت از 1392/01/20

  • چهارشنبه 20 بهمن 1395
  • 10:38

باید نام DDL با نام متغیر ورودی یکی باشه

کد اکشن را قرار دهید تا ببینم

کاربر سایت

سمیه زرنگ

عضویت از 1395/04/26

  • چهارشنبه 20 بهمن 1395
  • 11:08

view:

@using (Html.BeginForm("Basket"))
            {
                @Html.DropDownList("num",null,new { id= "number" })
            }

Action:

public ActionResult Basket(int? id, int num)
        {

            Session["No"] = num;
                  
            if (id == null)
            {
                return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
            }
            var Product = db.Productions
                .Where(f => f.ID == id)
                .ToList();           
            if ( Session["card"] == null)
            {
                Session["card"] = Product;
                counter++;
                Session["NumCard"] = counter;
            }
            else
            {
                var Card = (List<Product>)Session["card"];
                foreach (var prd in Product)
                {                   
                    Card.Add(prd);
                    Session["card"] = Card;
                    counter++;
                    Session["NumCard"] = counter;
                }
            }
            if (Product == null)
            {
                return HttpNotFound();
            }

            return View(Session["card"]);
        }
num متغیری هست که توش مقدار انتخاب شده دراپ دان لیست قرار میگیره
کاربر سایت

ایمان مدائنی

عضویت از 1392/01/20

  • چهارشنبه 20 بهمن 1395
  • 11:18

نام را num  گذاشتید و oid را number هر دو را یک کنید و تست کنید

کاربر سایت

سمیه زرنگ

عضویت از 1395/04/26

  • چهارشنبه 20 بهمن 1395
  • 11:46

بله درست شد متشکرم :)

کاربر سایت

سمیه زرنگ

عضویت از 1395/04/26

  • چهارشنبه 20 بهمن 1395
  • 11:55

میشه یک سوال دیگه هم بپرسم...

توی کدی که براتون ارسال کردم من هر بار یک محصول رو میذارم توی یک sessionبه نام card

حالا میخوام محصول با آی دی x رو از session خارج کنم چطوری بگم session ای که آی دی محصولش x هست رو انتخاب کن؟ اصلا میشه این کار رو انجام داد؟

کاربر سایت

ایمان مدائنی

عضویت از 1392/01/20

  • چهارشنبه 20 بهمن 1395
  • 12:05

باید یک کلاس درست کنید مثلا با دو فیلد یکی ID یکی نام

بعد لیستی از اون نوع را ایجاد کنید و در سشن قرار دهید

موقع واکشی لیست را از سشن استخراج کنید و کوئری بزنید و ID مورد نظر را استخراج کنید

کاربر سایت

محمد اردوخانی

عضویت از 1396/05/17

  • یکشنبه 6 مهر 1399
  • 13:56

خیلی هم عالی

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

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

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

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