PDA

View Full Version : خواندن اطلاعات dropdownlist



masoud60
شنبه 17 بهمن 1394, 11:00 صبح
با سلام

من از dropdown استفاده کردم
@Html.DropDownList("GroupID", null, htmlAttributes: new { @class = "form-control" })
این اطلاعات رو از دیتابیس پر کردم الان میخوام این اطلاعات رو با متد post بخونم و استفاده کنم چطوری میتونم اینکارو انجام بدم

با تشکر


-----------------------
http://www.kohan-co.net

ali_72
شنبه 17 بهمن 1394, 15:46 عصر
عزیزم کد view
کنترلر
چیزی میذاشتی :لبخند: که بدونیم مشکلت چیه

خوب باید یه فرم داشته باشی

masoud60
شنبه 17 بهمن 1394, 16:57 عصر
این کد کنترلر من هست من mvc تازه کار هستم و دیتابیس first کار میکنم مطمئن نیستم کنترلرم درست باشه

public ActionResult InsertNews()
{
WebSayarEntities pdc = new WebSayarEntities();
var group = from x in pdc.NewsGroups
where x.IsVisible == true && x.Status == 0
select new { x.GroupID, x.GroupName };

// SelectList custList = new SelectList(group.ToList(), "GroupID", "GroupName");
ViewBag.GroupID = new SelectList(group.ToList(), "GroupID", "GroupName");


return View();
} }



-------------------
http://www.kohan-co.net

arashnaderi
شنبه 17 بهمن 1394, 23:58 عصر
سلام
چطوری پرش کردی؟

@Html.DropDownListFor(model => model.FileUploadCategoryID, Model.CategoryList, new { @class = "form-control" })





حالا موقع پست شدن اطلاعات، از طریق model.FileUploadCategoryID بهش دسترسی داری

public virtual ActionResult Index()
{

FileUploadInsertVM model = new FileUploadInsertVM
{
CategoryList = FileUploadCategory.SelectList()
};

return View(model);
}


[HttpPost]
[ValidateAntiForgeryToken]
public virtual ActionResult Index(FileUploadInsertVM model)
{

...

model.CategoryList = FileUploadCategory.SelectList(model.FileUploadCate goryID);
return View(model);
}



اینم مدل


public class FileUploadInsertVM
{
[Required(ErrorMessage = "پر کردن فیلد {0} الزامی است")]
[StringLength(100, ErrorMessage = "حداکثر 100 کاراکتر مجاز می باشد")]
[Display(Name = "عنوان فایل")]
public string Title { get; set; }

[ValidateFile]
[Required(ErrorMessage = "لطفا یک فایل انتخاب نمایید")]
[Display(Name = "انتخاب فایل")]
public HttpPostedFileBase file { get; set; }

[Required(ErrorMessage = "پر کردن فیلد {0} الزامی است")]
[RegularExpression("([1-9][0-9]*)", ErrorMessage = "عدد وارد شده صحیح نمی باشد")]
[Range(1, int.MaxValue, ErrorMessage = "عدد وارد شده در محدوده مجاز نمی باشد")]
[Display(Name = "انتخاب دسته")]
public int FileUploadCategoryID { get; set; }

[Display(Name = "لیست دسته ها")]
public IList<SelectListItem> CategoryList { get; set; }
}

arashnaderi
یک شنبه 18 بهمن 1394, 00:02 صبح
سلام
چطوری پرش کردی؟


@Html.DropDownListFor(model => model.FileUploadCategoryID, Model.CategoryList, new { @class = "form-control" })





حالا موقع پست شدن اطلاعات، از طریق model.FileUploadCategoryID بهش دسترسی داری

public virtual ActionResult Index()
{

FileUploadInsertVM model = new FileUploadInsertVM
{
CategoryList = FileUploadCategory.SelectList()
};

return View(model);
}


[HttpPost]
[ValidateAntiForgeryToken]
public virtual ActionResult Index(FileUploadInsertVM model)
{

...

model.CategoryList = FileUploadCategory.SelectList(model.FileUploadCate goryID);
return View(model);
}



اینم مدل


public class FileUploadInsertVM
{
[Required(ErrorMessage = "پر کردن فیلد {0} الزامی است")]
[StringLength(100, ErrorMessage = "حداکثر 100 کاراکتر مجاز می باشد")]
[Display(Name = "عنوان فایل")]
public string Title { get; set; }

[ValidateFile]
[Required(ErrorMessage = "لطفا یک فایل انتخاب نمایید")]
[Display(Name = "انتخاب فایل")]
public HttpPostedFileBase file { get; set; }

[Required(ErrorMessage = "پر کردن فیلد {0} الزامی است")]
[RegularExpression("([1-9][0-9]*)", ErrorMessage = "عدد وارد شده صحیح نمی باشد")]
[Range(1, int.MaxValue, ErrorMessage = "عدد وارد شده در محدوده مجاز نمی باشد")]
[Display(Name = "انتخاب دسته")]
public int FileUploadCategoryID { get; set; }

[Display(Name = "لیست دسته ها")]
public IList<SelectListItem> CategoryList { get; set; }
}

arashnaderi
یک شنبه 18 بهمن 1394, 00:03 صبح
سلام
چطوری پرش کردی؟



@Html.DropDownListFor(model => model.FileUploadCategoryID, Model.CategoryList, new { @class = "form-control" })





حالا موقع پست شدن اطلاعات، از طریق model.FileUploadCategoryID بهش دسترسی داری


public virtual ActionResult Index()
{

FileUploadInsertVM model = new FileUploadInsertVM
{
CategoryList = FileUploadCategory.SelectList()
};

return View(model);
}


[HttpPost]
[ValidateAntiForgeryToken]
public virtual ActionResult Index(FileUploadInsertVM model)
{

...

model.CategoryList = FileUploadCategory.SelectList(model.FileUploadCate goryID);
return View(model);
}



اینم مدل



public class FileUploadInsertVM
{
[Required(ErrorMessage = "پر کردن فیلد {0} الزامی است")]
[StringLength(100, ErrorMessage = "حداکثر 100 کاراکتر مجاز می باشد")]
[Display(Name = "عنوان فایل")]
public string Title { get; set; }

[ValidateFile]
[Required(ErrorMessage = "لطفا یک فایل انتخاب نمایید")]
[Display(Name = "انتخاب فایل")]
public HttpPostedFileBase file { get; set; }

[Required(ErrorMessage = "پر کردن فیلد {0} الزامی است")]
[RegularExpression("([1-9][0-9]*)", ErrorMessage = "عدد وارد شده صحیح نمی باشد")]
[Range(1, int.MaxValue, ErrorMessage = "عدد وارد شده در محدوده مجاز نمی باشد")]
[Display(Name = "انتخاب دسته")]
public int FileUploadCategoryID { get; set; }

[Display(Name = "لیست دسته ها")]
public IList<SelectListItem> CategoryList { get; set; }
}

arashnaderi
یک شنبه 18 بهمن 1394, 00:04 صبح
سلام
چطوری پرش کردی؟


@Html.DropDownListFor(model => model.FileUploadCategoryID, Model.CategoryList, new { @class = "form-control" })




حالا موقع پست شدن اطلاعات، از طریق model.FileUploadCategoryID بهش دسترسی داری

public virtual ActionResult Index()
{

FileUploadInsertVM model = new FileUploadInsertVM
{
CategoryList = FileUploadCategory.SelectList()
};

return View(model);
}

[HttpPost]
[ValidateAntiForgeryToken]
public virtual ActionResult Index(FileUploadInsertVM model)
{

...

model.CategoryList = FileUploadCategory.SelectList(model.FileUploadCate goryID);
return View(model);
}


اینم مدل


public class FileUploadInsertVM
{
[Required(ErrorMessage = "پر کردن فیلد {0} الزامی است")]
[StringLength(100, ErrorMessage = "حداکثر 100 کاراکتر مجاز می باشد")]
[Display(Name = "عنوان فایل")]
public string Title { get; set; }

[ValidateFile]
[Required(ErrorMessage = "لطفا یک فایل انتخاب نمایید")]
[Display(Name = "انتخاب فایل")]
public HttpPostedFileBase file { get; set; }

[Required(ErrorMessage = "پر کردن فیلد {0} الزامی است")]
[RegularExpression("([1-9][0-9]*)", ErrorMessage = "عدد وارد شده صحیح نمی باشد")]
[Range(1, int.MaxValue, ErrorMessage = "عدد وارد شده در محدوده مجاز نمی باشد")]
[Display(Name = "انتخاب دسته")]
public int FileUploadCategoryID { get; set; }

[Display(Name = "لیست دسته ها")]
public IList<SelectListItem> CategoryList { get; set; }
}

arashnaderi
یک شنبه 18 بهمن 1394, 00:16 صبح
بچه ها چطوری میشه پست های الکی رو پاک کرد؟
الان 4بار تکرار شد، قابلیت حذف ندارم فقط ویرایش داره! نمیخواستم اسپم بزارم :ناراحت:

masoud60
یک شنبه 18 بهمن 1394, 19:11 عصر
دوست عزیز من این رو متوجه نشدم از کجا اومده

FileUploadInsertVM model = new FileUploadInsertVM {
CategoryList = FileUploadCategory.SelectList()

};



FileUploadCategory از کجا اومد؟ من بالا کنترلرم رو نوشتم از اون طریق پرش میکنم

-------------------------------
http://www.kohan-co.net

arashnaderi
یک شنبه 18 بهمن 1394, 23:04 عصر
سلام
چطوری پرش کردی؟


@Html.DropDownListFor(model => model.FileUploadCategoryID, Model.CategoryList, new { @class = "form-control" })




حالا موقع پست شدن اطلاعات، از طریق model.FileUploadCategoryID بهش دسترسی داری

public virtual ActionResult Index()
{

FileUploadInsertVM model = new FileUploadInsertVM
{
CategoryList = FileUploadCategory.SelectList()
};

return View(model);
}

[HttpPost]
[ValidateAntiForgeryToken]
public virtual ActionResult Index(FileUploadInsertVM model)
{

...

model.CategoryList = FileUploadCategory.SelectList(model.FileUploadCate goryID);
return View(model);
}


اینم مدل


public class FileUploadInsertVM
{
[Required(ErrorMessage = "پر کردن فیلد {0} الزامی است")]
[StringLength(100, ErrorMessage = "حداکثر 100 کاراکتر مجاز می باشد")]
[Display(Name = "عنوان فایل")]
public string Title { get; set; }

[ValidateFile]
[Required(ErrorMessage = "لطفا یک فایل انتخاب نمایید")]
[Display(Name = "انتخاب فایل")]
public HttpPostedFileBase file { get; set; }

[Required(ErrorMessage = "پر کردن فیلد {0} الزامی است")]
[RegularExpression("([1-9][0-9]*)", ErrorMessage = "عدد وارد شده صحیح نمی باشد")]
[Range(1, int.MaxValue, ErrorMessage = "عدد وارد شده در محدوده مجاز نمی باشد")]
[Display(Name = "انتخاب دسته")]
public int FileUploadCategoryID { get; set; }

[Display(Name = "لیست دسته ها")]
public IList<SelectListItem> CategoryList { get; set; }
}



ببین من یک مثال از نحوه تعریف یک مدل مثال، به همراه پر شدن و همچنین دستورات view و controller برات نوشتم. شما علاوه بر groupid ، به یک grouplist هم نیاز داری، منظورم اینه
[Display(Name = "لیست دسته ها")]
public IList<SelectListItem> CategoryList { get; set; }
روشت درست نیست که اومدی توی viewbag زدی، مدلی که برات تعریف کردم به همراه دستورات view و کنترلر( چه زمان فراخوانی اولیه و چه زمان پست بک شدن) رو دنبال کن

arashnaderi
یک شنبه 18 بهمن 1394, 23:07 عصر
این دستور

FileUploadCategory.SelectList()
اینطوری مثلا تعریف میشه، برای خروجی دادن یک جدول بصورت SELECTLISTITEM



public static IList<SelectListItem> SelectList(params int[] listID)
{
return new ProjectModel().FileUploadCategories.OrderBy(item => item.Title).Select(item => new SelectListItem
{
Value = item.ID.ToString(),
Text = item.Title,
Selected = listID.Any(val => item.ID == val)
}).ToList();
}