PDA

View Full Version : سوال: ذخیره محتویان DropDownListFor در mvc5



achil1
چهارشنبه 30 اردیبهشت 1394, 01:06 صبح
سلام دوستان عزیز

بنده به مشکلی برخوردم و هر کاری میکنم ارور میده

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


public class data
{
public string saving { get; set; }
}





و یه کنترل هم دارم که به صورت زیر هست


public ActionResult test()
{
ViewBag.st = db.users.ToList();
return View();

}





الان داخل view داخل DropDownListFor من اطلاعاتی که از دیتا بیس گرفتم ریختم داخلش وقتی اجر میکنم اطلاعات به درستی داخلش نمایش داده میشه


@Html.DropDownListFor(m => m.saving, new SelectList(ViewBag.st, "number", "name"))


اما می خوام وقتی که روی دکمه کلیک کردم اطلاعات داخل saving مدل ذخیره بشه اما ارور میده

An exception of type 'System.ArgumentNullException' occurred in System.Web.Mvc.dll but was not handled in user code

Additional information: Value cannot be null.

لطفا کمک کنید

ممنون

با تشکر

r4hgozar
چهارشنبه 30 اردیبهشت 1394, 08:59 صبح
سلام.
این بخاطر اینه که @Html.DropDownListFor فقط از مدل مورد نظر برات میسازه و نه از پارشیال ویو.
باید کد رو بصورت زیر بنویسی .


var list = _service1.GetProducts().ToList();
ViewBag.product = new SelectList(list, "Id", "Name");



و بعد در ویو بصورت زیر نمایش بدین


@Html.DropDownList("regions", (SelectList)ViewBag.product)



و بعد هم اون رو بصورت یک string دریافت کنی.

موفق باشی

achil1
چهارشنبه 30 اردیبهشت 1394, 17:11 عصر
سلام
من نفهمیدم
الان کد خودمو باید چه تغغیراتی توش بدم

لطفا کمک کنید

achil1
چهارشنبه 30 اردیبهشت 1394, 20:09 عصر
دوستان تور خدا کمک کنید

r4hgozar
پنج شنبه 31 اردیبهشت 1394, 08:57 صبح
سلام. ببخشید وقت نمی کنم زیاد بیام نت.
کدی که باید استفاده کنید.

public ActionResult test()
{
var list = db.users.ToList();
ViewBag.product = new SelectList(list, "Id", "Name");
return View();
}

بعدش هم در ویو اینطوری نمیاش بدین



@Html.DropDownList("regions", (SelectList)ViewBag.product)



بعد هم تو متد post همون action بصوت یک srting دریافتش کنید. مثلا


publicActionResult test(string regions)
{

حالا این تو هر کاری می خوای بکن
}



موفق باشی