как найти значение из DropDownList - PullRequest
0 голосов
/ 21 декабря 2018

Я пытаюсь получить значение из dropdownList, но у меня есть эта ошибка "{" Значение не может быть нулевым. \ R \ nПараметр параметра: источник "} Мне нужно опубликовать это значение, потому что это 'идентификатор моей таблицы" страница "это код контроллера:

public ActionResult Index()
{
    List<SelectListItem> SelectListItem = new List<System.Web.Mvc.SelectListItem>();
    foreach (Pages item in DbContext.Pages)
    {    
        SelectListItem SelectList = new SelectListItem()
        {
            Text = item.PageName,
            Value = item.IdPage.ToString()
        };
        SelectListItem.Add(SelectList);
    }
    Pages pagesmodel = new Pages();
    pagesmodel.PagesA = SelectListItem;
    return View(pagesmodel);
}

   // this is the problem
   var selected = page.PagesA.Select(item => 
       item.Value.Equals(page.SelectedPages));
   return RedirectToAction("Details","manage",new { id=selected});
}

и это код моей модели:

public class PagesModel  
{
    public IEnumerable<SelectListItem> PagesA { get; set; }
    public IEnumerable<string> SelectedPages { get; set; }
}

спасибо;

Ответы [ 2 ]

0 голосов
/ 21 декабря 2018

нам нужно вернуть строку в переменную, не являющуюся IEnumerable .. поэтому для решения нам нужно изменить класс на:

public class PagesModel 
{ 
    public IEnumerable<SelectListItem> PagesA { get; set; } 
     public string SelectedPage { get; set; } 
 }

и в контроллере:

  var selected =page.SelectedPage;
     return RedirectToAction("Details","manage",new { id=selected});
    }

Спасибо всем,

0 голосов
/ 21 декабря 2018
// this is the problem 
var selected = page.PagesA.Select(item => item.Value.Equals(page.SelectedPages)

Возвращает список логических значений, которые не являются желаемыми выходными данными (вам нужен идентификатор).

Я считаю, что вам нужно изменить классы следующим образом:

public class PagesModel 
{ 
    public IEnumerable<SelectListItem> PagesA { get; set; } 
     public string SelectedPage { get; set; } 
 }

А

var selected = page.PagesA.Where(item => item.Equals(page.SelectedPage);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...