سلام من در سمت کنترلر یک ویوبگ دارم به این صورت
ViewBag.BlogCategories = new MultiSelectList(_blogService.EfGetAllBlogCategory(), "BlogCategoryId", "Title",blogPost.BlogCategories);
و در سمت ویو ، ویوبگ را به این صورت میگیرم
<div class="form-group"> @Html.LabelFor(model => model.BlogCategories, htmlAttributes: new {@class = "control-label col-md-2"}) <div class="col-md-10"> @Html.ListBox("BlogCategories", ViewBag.BlogCategories as MultiSelectList, new {htmlAttributes = new {@class = "form-control"}}) @Html.ValidationMessageFor(model => model.BlogCategories, "", new {@class = "text-danger"}) </div> </div>
ولی ایتمی به صورت پیشفرض انتخاب نمیشه (در قسمت edit) . آیا طرز استفاده من درست میباشد ؟
پارامتر بعد از Title باید Value باشد که میخواهید در حالت انتخاب باشه blogPost.BlogCategories
خوب من به این تغییر دادم
ViewBag.BlogCategories = new MultiSelectList(_blogService.EfGetAllBlogCategory(), "BlogCategoryId", "Title",blogPost.BlogCategories.Select(x=>x.BlogCategoryId));
الان عدد هم میاره ولی باز در صفحه edit اون ای دی مشخص به طور پیشفرض select نمیشه
این کد باید جواب بده
حتما جای دیگری اشتباه کردید
کد را Trace کنید تا مشکل رو پیدا کنید
هیچ کاربری تا کنون از این پست تشکر نکرده است
با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)