【问题标题】:how to Find value from DropDownList如何从 DropDownList 中查找值
【发布时间】:2019-05-22 04:27:47
【问题描述】:

我尝试从下拉列表中获取一个值,但我有这个错误“{”值不能为空。\r\n参数名称:源“}我需要发布这个值,因为它是我的表“页面”的 id 这是控制器的代码:

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; }
}

谢谢;

【问题讨论】:

  • PagesModel 中,IEnumerable&lt;string&gt; SelectedPagesIEnumerable。然而,您遇到问题的代码行有一个 Equals 运算符。这是预期的吗?您不能对 IEnumerable (SelectedPages) 和字符串 (SelectListItem.Value) 执行 Equals 操作
  • 我需要得到一个下拉列表的值。当我调试解决方案时,我在选定页面中得到结果,但 page.selectedpage 它为空

标签: c# entity-framework razor asp.net-mvc-5


【解决方案1】:
// this is the problem 
var selected = page.PagesA.Select(item => item.Value.Equals(page.SelectedPages)

这将返回不需要输出的布尔值列表(您需要 id)。

我认为您需要以这种方式更改您的课程:

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

var selected = page.PagesA.Where(item => item.Equals(page.SelectedPage);

【讨论】:

  • 谢谢,但我有一些错误 {"Value cannot be null.\r\nParameter name: source"}
【解决方案2】:

我们需要将字符串返回给变量而不是 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});
    }

谢谢大家,

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-09
    • 1970-01-01
    • 1970-01-01
    • 2014-03-25
    相关资源
    最近更新 更多