سلام
ویومدل بدین صورت طراحی کنید که شامل فیلدهای لازم وضروری در ویو باشند
public class GroupAndChannelViewModel
{
public string UserId { get; set; }
public Guid GacId { get; set; }
public string JoinLink { get; set; }
public string Name { get; set; }
public string Type { get; set; }
public int Members { get; set; }
public string Language { get; set; }
public string OtherLanguage { get; set; }
public int Grade { get; set; }
public string Description { get; set; }
public DateTime Register { get; set; }
public List<Tag> Tags { get; set; }
public int[] TagId{ get; set; }
}
فرض کنید کنترولر بدین صورت باشه
public virtual ActionResult Index;/lo/( nnnnnj)
{
var model = new GroupAndChannelViewModel
{
............Tags = _Service")
};
return View(model);
}
اگر توجه کنید یک ارایه از نوع int تعریف شده
این ارایه برای دریافت کد تگها از قسمت ویو هست
و الان باید از یک لیست باکس یا دراپ داوون باکس با خاصیت Multiple توی ویو داده ها رو پر کنید
@Html.DropDownListFor(m => m.TagId, new MultiSelectList(Model.Tags, "TagId", "TagName"), new {@class = "form-control multiselect input-sm no-padding", multiple = "multiple", id = "TagId", })
این قسمت همون ارایه هست
m => m.TagId,
میتونید از پلاگین هایی مثل Chosen برای تزیین لیست باکس استفاده کنید تا زیبا تر بشه
حالا برای درج مقادیر ارسالی ارایه د رسمت کنترولر و درج چند به چند , مقادیر ارایه رو با یک حلقه بریزید توی یک لیست از نوع Tag و این لیست رو انتساب بدید به GroupAndChannel.Tags