Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/282.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# MVC中DB文本、值的下拉列表_C#_Asp.net Mvc_Database_Drop Down Menu - Fatal编程技术网

C# MVC中DB文本、值的下拉列表

C# MVC中DB文本、值的下拉列表,c#,asp.net-mvc,database,drop-down-menu,C#,Asp.net Mvc,Database,Drop Down Menu,我对dropdownlist有问题。我想在selectedlist中显示文本,但选择Id。 如何实现视图?在视图中,我必须将所选数据保存到模型(odbiorca) 控制器: var odbiorca = dbU.Uczniowie.OrderBy(d => d.Nazwisko).Select(m => m.Nazwisko + " " + m.Imie).ToList(); //return Names var odbiorcaId= dbU.Uczniowie

我对dropdownlist有问题。我想在selectedlist中显示文本,但选择Id。 如何实现视图?在视图中,我必须将所选数据保存到模型(odbiorca)

控制器:

var odbiorca = dbU.Uczniowie.OrderBy(d => d.Nazwisko).Select(m => m.Nazwisko + " " + m.Imie).ToList(); //return Names
          var odbiorcaId= dbU.Uczniowie.OrderBy(d => d.Id).Select(m => m.Nazwisko + " " + m.Imie).ToList(); //return IDs

          List<SelectListItem> items = new List<SelectListItem>();

            for (int i=0;i<dbU.Uczniowie.Count();i++)
            {
                items.Add(new SelectListItem { Text = odbiorca[i], Value = odbiorcaId[i] }); 
            }

ViewBag.odbiorca = items;
    public ActionResult Index()
    {
        //Creates a example list with multiple "Uwaga" items, 
        //but you might want to pull the data from the database
        List<Uwaga> UwagaList = new List<Uwaga>();
        for (int i = 1; i <= 10; i++)
        {
            Uwaga item = new Uwaga();
            item.Id = i;
            item.odbiorca = "odbiorca " + i;
            UwagaList.Add(item);
        }

        //Create a SelectList object, the first parameter is the list created above.
        //The second parameter is the "id" key and the thirth 
        //parameter is the text you want to display in the dropdown.
        var SelectList = new SelectList(UwagaList, "Id", "odbiorca");

        //Fill the dropdownlist "odbiorca" using ViewData.
        ViewData["odbiorca"] = SelectList;
    }
我尝试了这个解决方案,但程序保存了文本,但没有保存值。
@DropDownList(“odbiorca”,“----”)

两个linq语句返回相同的值

var odbiorca = dbU.Uczniowie.OrderBy(d => d.Nazwisko).Select(m => m.Nazwisko + " " + m.Imie).ToList(); //return Names
var odbiorcaId= dbU.Uczniowie.OrderBy(d => d.Id).Select(m => m.Nazwisko + " " + m.Imie).ToList(); //return IDs
这两个函数都返回一个列表,其中
m.Nazwisko+“”+m.Imie
没有Id

您应该只使用一个查询来获取选择列表

var list = dbU.Uczniowie.Select(a => new {Text= a.Nazwisko + " " + a.Imie, Value = a.Id}).ToList();

ViewBag.odbiorca = list.Select(a => new SelectListItem{ Text = a.Text, Value = a.Value.ToString()});

试试这种方法。让我们以您的模型课为例:

public class Uwaga
{
    [Key]
    [Required]
    public string Id { get; set; }
    Required]
    public string odbiorca { get; set; }
    [Required]
    public  DateTime data { get; set; }
}
在视图中,您可以使用相同的帮助程序:
@Html.DropDownList(“odbiorca”,“---”)

但是,在控制器中,您可以通过
SelectList
对象设置“id”和“text”列。以控制器中的默认操作为例:

var odbiorca = dbU.Uczniowie.OrderBy(d => d.Nazwisko).Select(m => m.Nazwisko + " " + m.Imie).ToList(); //return Names
          var odbiorcaId= dbU.Uczniowie.OrderBy(d => d.Id).Select(m => m.Nazwisko + " " + m.Imie).ToList(); //return IDs

          List<SelectListItem> items = new List<SelectListItem>();

            for (int i=0;i<dbU.Uczniowie.Count();i++)
            {
                items.Add(new SelectListItem { Text = odbiorca[i], Value = odbiorcaId[i] }); 
            }

ViewBag.odbiorca = items;
    public ActionResult Index()
    {
        //Creates a example list with multiple "Uwaga" items, 
        //but you might want to pull the data from the database
        List<Uwaga> UwagaList = new List<Uwaga>();
        for (int i = 1; i <= 10; i++)
        {
            Uwaga item = new Uwaga();
            item.Id = i;
            item.odbiorca = "odbiorca " + i;
            UwagaList.Add(item);
        }

        //Create a SelectList object, the first parameter is the list created above.
        //The second parameter is the "id" key and the thirth 
        //parameter is the text you want to display in the dropdown.
        var SelectList = new SelectList(UwagaList, "Id", "odbiorca");

        //Fill the dropdownlist "odbiorca" using ViewData.
        ViewData["odbiorca"] = SelectList;
    }
public ActionResult Index()
{
//创建包含多个“Uwaga”项的示例列表,
//但您可能希望从数据库中提取数据
List UwagaList=新列表();

对于(int i=1;i)如何在DropDownList中传递值,我看不到DropDownList接收ViewBag.odbiorca的视图