نمایش نتایج 1 تا 3 از 3

نام تاپیک: نحوه تشخیص آیتم سلکت شده توسط دراپ دان لیست که به صورت دستی ایجاد شده

  1. #1
    کاربر دائمی
    تاریخ عضویت
    آبان 1387
    محل زندگی
    Iran
    پست
    1,338

    نحوه تشخیص آیتم سلکت شده توسط دراپ دان لیست که به صورت دستی ایجاد شده

    سلام
    یک سوال مفهومی داشتم


    من به صورت دستی یک دراپ دان لیست که از دیتابیس اطلاعات رو می خونه ایجاد کردم


    این مدل هست
    public class testGroup
    {
    [Key]
    public int ID { get; set; }
    public string Title { get; set; }
    public int ParentID { get; set; }
    }

    این اکشن



    public ActionResult Create()
    {
    IEnumerable<testGroup> mylist = db.Database.SqlQuery<testGroup>(@"select * from testGroups");


    ViewBag.ParentID = new SelectList(mylist, "ID", "Title");


    return View();
    }


    // POST: Administrator/testGroups/Create
    // To protect from overposting attacks, please enable the specific properties you want to bind to, for
    // more details see http://go.microsoft.com/fwlink/?LinkId=317598.
    [HttpPost]
    [ValidateAntiForgeryToken]
    public ActionResult Create([Bind(Include = "ID,Title,ParentID")] testGroup testGroup)
    {
    if (ModelState.IsValid)
    {
    db.testGroups.Add(testGroup);
    db.SaveChanges();
    return RedirectToAction("Index");
    }


    return View(testGroup);
    }

    و این هم ویو
    <select class="form-control" id="ParentID" name="ParentID">
    @foreach (var item in ViewBag.ParentID)
    {
    <option value="@item.Value">@item.Text</option>
    }
    </select>

    همونطور که می بینید یک System.Web.Mvc.SelectList به یک ViewBag به اسم ParentID پاس داده میشه


    حالا می خوام بدونم mvc چطور متوجه می شه که کدوم آیتم از دراپ دان انتخاب شده، چون وقتی درج انجام میشه دقیقا و به درستی مقدار آیتم انتخاب شده رو به عنوان ParentID در دیتابیس ثبت می کنه.






    قبلا که توسط هلپر html.dropdownlist این اتفاق صورت می گرفتم فکر می کردم در خود هلپر کدهایی نوشته شده که این قضیه رو مدیریت کنه، ولی الان که از این هلپر استفاده نکردم و توسط یک Foreach دراپ دان رو خودم ایجاد کردم می بینم باز همون اتفاق مدیریت شده، بنابراین احتمالا این مدیریت داره توسط System.Web.Mvc.SelectList انجام میشه ولی به چه صورت؟

    ممنون می شم توضیح بدید!

  2. #2

    نقل قول: نحوه تشخیص آیتم سلکت شده توسط دراپ دان لیست که به صورت دستی ایجاد شده

    آیتم انتخاب شده در Dropdown ، بهش یک Attribute به اسم selected اضافه میشه که وقتی شما فرم رو POST میکنید ، اون Option که این Attribute رو داره Submit میشه .
    با استفاده از این مورد شما میتونید در DOM ، آیتم انتخاب شده ( selectedIndex ) رو با Javascript تغییرش بدید : https://www.w3schools.com/jsref/tryi..._selectedindex


    <select id="mydropdown">
    <option value="1">test1</option>
    <option value="2" selected="selected">test2</option>
    <option value="3">test3</option>
    </select>


    اگر این کد رو امتحان کنید ، میبینید که نتیجش 2 هست که Value اون آیتمی هست که selected داره :

    var dropdown = document.getElementById("mydropdown");
    var selectedIndex = dropdown.options[dropdown.selectedIndex].value;
    alert(selectedIndex);


    نمونه آنلاین : https://jsfiddle.net/MoienTajik/nvpsgt73/1/

  3. #3
    کاربر دائمی
    تاریخ عضویت
    آبان 1387
    محل زندگی
    Iran
    پست
    1,338

    نقل قول: نحوه تشخیص آیتم سلکت شده توسط دراپ دان لیست که به صورت دستی ایجاد شده

    دقیقا الان مسئله اینه که اون اتریبیوت Selected در ویو سورس مشاهده نمیشه، یعنی وقتی آیتم انتخاب میشه selected اضافه نمی شه به آیتم، پس این قضیه داره جوری دیگه ای یا جای دیگه ای مدیریت میشه
    ببینید این دقیقا نتیجه ای هست که در html به صورت اتوماتیک ایجاد میشه

    <select class="form-control" id="ParentID" name="ParentID">                <option value="1">test</option>
    <option value="2">test2</option>
    <option value="3">5555555555</option>
    </select>



    حالا کجا داره این قضیه مدیریت میشه و چطور این selected تشخیص داده میشه برام معماست!
    آخرین ویرایش به وسیله bftarane : چهارشنبه 05 مهر 1396 در 14:44 عصر

تاپیک های مشابه

  1. کار با دراپ دان لیست ها به صورت کامل
    نوشته شده توسط faranakk در بخش ASP.NET MVC
    پاسخ: 3
    آخرین پست: سه شنبه 14 اردیبهشت 1395, 15:18 عصر
  2. ترکیب دو آیتم دو جدول در دراپ دان لیست
    نوشته شده توسط setareh2013 در بخش ASP.NET Web Forms
    پاسخ: 0
    آخرین پست: دوشنبه 10 مهر 1391, 08:47 صبح
  3. پاسخ: 1
    آخرین پست: یک شنبه 24 اردیبهشت 1391, 19:24 عصر
  4. سوال: خواندن محتوای TextBox که به صورت runtime ایجاد شده
    نوشته شده توسط jafar007 در بخش ASP.NET Web Forms
    پاسخ: 5
    آخرین پست: جمعه 27 شهریور 1388, 13:40 عصر
  5. سوال: دسترسی به مقادیر فیلدهایی که به صورت دینامیکی ایجاد شده اند
    نوشته شده توسط ahmadbadpey در بخش طراحی وب (Web Design)
    پاسخ: 1
    آخرین پست: شنبه 17 مرداد 1388, 21:15 عصر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •