Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/16.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# ASP.NET MVC下拉列表不会填充结果_C#_Asp.net Mvc_Drop Down Menu - Fatal编程技术网

C# ASP.NET MVC下拉列表不会填充结果

C# ASP.NET MVC下拉列表不会填充结果,c#,asp.net-mvc,drop-down-menu,C#,Asp.net Mvc,Drop Down Menu,好的,所以我花了很多时间试图找出如何为过滤器做下拉列表。现在我有两个过滤器作为一个文本框,但我想要一个下拉列表,因为我会添加更多的过滤器 这是我的索引页: 任务列表 但我无法填充任何下拉列表值。有人能帮忙吗 谢谢你试着这样做: [HttpGet] public ActionResult Edit() { var model = new FilterViewModel { PossibleValues = new[] {

好的,所以我花了很多时间试图找出如何为过滤器做下拉列表。现在我有两个过滤器作为一个文本框,但我想要一个下拉列表,因为我会添加更多的过滤器

这是我的索引页: 任务列表

但我无法填充任何下拉列表值。有人能帮忙吗

谢谢你

试着这样做:

[HttpGet]
public ActionResult Edit()
{
    var model = new FilterViewModel 
    { 
        PossibleValues = new[]
        {
            new SelectListItem { Value = "1", Text = "value 1" },
            new SelectListItem { Value = "2", Text = "value 2" },
            new SelectListItem { Value = "3", Text = "value 3" },
        }
    };
    return View(model);
}
然后在强类型视图中:

<%: Html.DropDownListFor(
    x => x.Physician.PhysicianName, 
    new SelectList(Model.PossibleValues, "Value", "Text")
) %> 
试着这样做:

[HttpGet]
public ActionResult Edit()
{
    var model = new FilterViewModel 
    { 
        PossibleValues = new[]
        {
            new SelectListItem { Value = "1", Text = "value 1" },
            new SelectListItem { Value = "2", Text = "value 2" },
            new SelectListItem { Value = "3", Text = "value 3" },
        }
    };
    return View(model);
}
然后在强类型视图中:

<%: Html.DropDownListFor(
    x => x.Physician.PhysicianName, 
    new SelectList(Model.PossibleValues, "Value", "Text")
) %> 

我不知道您的类PapClientProfile和PapStaff,所以我用简单的字符串类型替换它们。 假设您的ViewModel定义如下:

 
    public class FilterViewModel
    {
        public string ClientName { get; set; }
        public string PhysicianName { get; set; }
        public IEnumerable ClientNames { get; set; }
        public IEnumerable PhysicianNames { get; set; }
    }
然后,视图中将有两个可用列表。包含客户端名称和 包含医生姓名的人。我想这对你来说是正确的

您的控制器代码如下所示:

[HttpGet]
public ActionResult Edit()
{
    var model = new FilterViewModel 
    { 
        Client = "ClientID-2",
        Physician = "",

        ClientName = new[]
        {
            new SelectListItem { Value = "ClientID-1", Text = "Client Name 1" },
            new SelectListItem { Value = "ClientID-2", Text = "Client Name 2" },
            new SelectListItem { Value = "ClientID-3", Text = "Client Name 3" },
        },

        PhysicianName = new[]
        {
            new SelectListItem { Value = "PhysicianID-1", Text = "Physician Name 1" },
            new SelectListItem { Value = "PhysicianID-2", Text = "Physician Name 2" },
            new SelectListItem { Value = "PhysicianID-3", Text = "Physician Name 3" },
        }

   };
    return View(model);
}
如果视图是强类型视图,以获取FilterViewMode作为模型,则可以使用以下代码显示下拉列表:


<%: Html.DropDownListFor(
    x => x.ClientName, 
    new SelectList(Model.ClientNames, "Value", "Text")
) %>
<br/>
<%: Html.DropDownListFor(
    x => x.PhysicianName, 
    new SelectList(Model.PhysicianNames, "Value", "Text")
) %> 

就我个人而言,我喜欢在控制器中创建SelectList,但这两种方式都可以

我不知道您的类PapClientProfile和PapStaff,所以我用简单的字符串类型替换它们。 假设您的ViewModel定义如下:

 
    public class FilterViewModel
    {
        public string ClientName { get; set; }
        public string PhysicianName { get; set; }
        public IEnumerable ClientNames { get; set; }
        public IEnumerable PhysicianNames { get; set; }
    }
然后,视图中将有两个可用列表。包含客户端名称和 包含医生姓名的人。我想这对你来说是正确的

您的控制器代码如下所示:

[HttpGet]
public ActionResult Edit()
{
    var model = new FilterViewModel 
    { 
        Client = "ClientID-2",
        Physician = "",

        ClientName = new[]
        {
            new SelectListItem { Value = "ClientID-1", Text = "Client Name 1" },
            new SelectListItem { Value = "ClientID-2", Text = "Client Name 2" },
            new SelectListItem { Value = "ClientID-3", Text = "Client Name 3" },
        },

        PhysicianName = new[]
        {
            new SelectListItem { Value = "PhysicianID-1", Text = "Physician Name 1" },
            new SelectListItem { Value = "PhysicianID-2", Text = "Physician Name 2" },
            new SelectListItem { Value = "PhysicianID-3", Text = "Physician Name 3" },
        }

   };
    return View(model);
}
如果视图是强类型视图,以获取FilterViewMode作为模型,则可以使用以下代码显示下拉列表:


<%: Html.DropDownListFor(
    x => x.ClientName, 
    new SelectList(Model.ClientNames, "Value", "Text")
) %>
<br/>
<%: Html.DropDownListFor(
    x => x.PhysicianName, 
    new SelectList(Model.PhysicianNames, "Value", "Text")
) %> 

就我个人而言,我喜欢在控制器中创建SelectList,但这两种方式都可以

它不识别“FilterViewModel”。当我使用:public class FilterViewModel{}添加一个新方法时,它会给出一个错误,错误为'PossibleValues',其中FilterViewModel不可识别?为什么要向视图模型中添加方法?您的视图是否强类型化为FilterViewModel?谢谢回复。控制器中无法识别FilterViewModel。添加方法以获取要识别的FilterViewModel。是的,它是一个强类型视图。我可以把我的项目发电子邮件给你吗?我真的需要这个下拉列表的帮助。Thanks@Mel,是的,你可以把你的项目寄给我。但请尽量缩小范围。不要指望我为了运行它而设置数据库之类的东西。不需要设置任何东西。一切都安排好了。ThanksIt无法识别“FilterViewModel”。当我使用:public class FilterViewModel{}添加一个新方法时,它会给出一个错误,错误为'PossibleValues',其中FilterViewModel不可识别?为什么要向视图模型中添加方法?您的视图是否强类型化为FilterViewModel?谢谢回复。控制器中无法识别FilterViewModel。添加方法以获取要识别的FilterViewModel。是的,它是一个强类型视图。我可以把我的项目发电子邮件给你吗?我真的需要这个下拉列表的帮助。Thanks@Mel,是的,你可以把你的项目寄给我。但请尽量缩小范围。不要指望我为了运行它而设置数据库之类的东西。不需要设置任何东西。一切都安排好了。谢谢