View Full Version : سوال: سوال :edit کردن dropdown لطفا کسایی که انلاینن کمک کنن
zariiiiii
چهارشنبه 13 اردیبهشت 1396, 10:05 صبح
سلام دوستان من میخوام یه dropdown رو edit کنم کدشو نوشتم ولی تو chtml ارور میده کسی میتونه کمکم کنه خیلی ضروری و فوریه:ناراحت::ناراحت::اشتبا :
public ActionResult Edit(int id)
{
var Category = from C in db.Categories select C;
var Subcategory = db.Subcategories.Find(id);
var sumModel = new SumModels { Category = Category.ToArray(), Subcategory = Subcategory };
return View(sumModel);
}
[HttpPost]
public ActionResult Edit(Subcategory subcategory)
{
db.Entry(subcategory).State = System.Data.Entity.EntityState.Modified;
db.SaveChanges();
return RedirectToAction("Index");
}
public class SumModels
{
public IEnumerable<Category> Category { get; set; }
public Subcategory Subcategory { get; set; }
Moien Tajik
چهارشنبه 13 اردیبهشت 1396, 13:49 عصر
کد ویو رو قرار بدید و دقیقا بگید منظورتون از
یه dropdown رو edit کنم چیه ؟
zariiiiii
چهارشنبه 13 اردیبهشت 1396, 13:58 عصر
این کد کنترلرمه من دو تا جدول دارم یکیcategory و یکی Subcategory میخوام ساب کتگوری رو به صورت dropdown ویرایش کنم از کتگوری نام شاخه ها رو میخوام و از ساب کتگوری آی دی رو برای ویرایش حالا تو کنترلر دوتا مدل نوشتم یکی واسهcategory یکی هم واسه subcategory بعد جمع اونا رو میخوام واسه ویو بفرستم این کدا رو تو کنترلر نوشتم حالا تو ویو نمیدونم چی بنویسم یعنی تو cshtmlبرای edit
public ActionResult Edit(int id)
{
var Category = from C in db.Categories select C;
var Subcategory = db.Subcategories.Find(id);
var sumModel = new SumModels { Category = Category.ToArray(), Subcategory = Subcategory };
return View(sumModel);
}
[HttpPost]
public ActionResult Edit(Subcategory subcategory)
{
db.Entry(subcategory).State = System.Data.Entity.EntityState.Modified;
db.SaveChanges();
return RedirectToAction("Index");
}
public class SumModels
{
public IEnumerable<Category> Category { get; set; }
public Subcategory Subcategory { get; set; }
}
zariiiiii
چهارشنبه 13 اردیبهشت 1396, 14:10 عصر
<input type="hidden" name="categoryid" value="@Model.CategoryId" />
<br />
<div class="container">
<h1>Edit subcategory</h1>
<hr />
<div class="input-group">
<span class="input-group-addon">Category</span>
<select name="categoryid" class="form-control">
<option value="0">Select category</option>
@foreach (var category in Model.Category)
{
<option value="@category.CategoryId">@category.Name</option>
}
</select>
</div>
@Model IEnumerable<SumModels>
<ul>@Html.EditorForModel()</ul>
<br />
<div class="input-group">
<span class="input-group-addon">Name</span>
<input type="text" class="form-control" name="name" value="@Model.Name" />
</div>
<br />
<div class="col-lg-offset-1">
<button class="btn btn-success">Save</button>
<a class="btn btn-primary" href="/Subcategory/Index">Back to list</a>
</div>
</div>
اینو نوشتم واسه ویوش ولی ارور میده چه تغیراتی باید رو ش اعمال کنم با توجه به کد کنترلری که قبلا فرستادم
Moien Tajik
چهارشنبه 13 اردیبهشت 1396, 14:54 عصر
شما باید داخل مدل SubCategory یک Category و در مدل Category یک لیستی از SubCategory ها داشته باشید تا موقع کوئری گرفتن با ID اون Category بیاید و SubCategory ها رو هم با Include داشته باشید .
برای ساختن DropDown هم نیازی به Option و Select نیست و میتونید از این روش ها استفاده کنید .
روش اول ، ایجاد یک Static DropDown :
@Html.DropDownList("terms", new List<SelectListItem>
{
new SelectListItem { Text = "FirstItem", Value = "First Item" },
new SelectListItem { Text = "SecondItem", Value = "Second Item" },
new SelectListItem { Text = "ThirdItem", Value = "Third Item" },
new SelectListItem { Text = "FourthItem", Value = "Fourth Item" },
}, new { @class = "form-control" })
روش دوم ، ایجاد DropDown از رکوردهای یک Table :
در اکشن اطلاعات رو از دیتابیس میخونید و داخل یک Viewbag بصورت List میریزد و در ویو با استفاده از ViewBag اون DropDown مورد نظرتون رو میسازید ; مثال :
Controller :
ViewBag.DropDownID = new SelectList(_db.Example.ToList(), "ExampleID", "Title");
View :
@Html.DropDownList("ExampleID", null, htmlAttributes: new { @class = "form-control" })
همچین اروری که در ویو رخ میده رو قرار بدید .
zariiiiii
چهارشنبه 13 اردیبهشت 1396, 15:16 عصر
برای این کار (شما باید داخل مدل SubCategory یک Category و در مدل Category یک لیستی از SubCategory ها داشته باشید تا موقع کوئری گرفتن با ID اون Category بیاید و SubCategory ها رو هم با Include داشته باشید .) باید چیکار کنم کدی که خودم توی کنترلر نوشتم درسته؟ بعد اینکه تو ویو غیر از
@Html.DropDownList("terms", new List<SelectListItem>
{
new SelectListItem { Text = "FirstItem", Value = "First Item" },
new SelectListItem { Text = "SecondItem", Value = "Second Item" },
new SelectListItem { Text = "ThirdItem", Value = "Third Item" },
new SelectListItem { Text = "FourthItem", Value = "Fourth Item" },
}, new { @class = "form-control" })
چه چیزای دیگه ایی باید بنویسم
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.