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,是的,你可以把你的项目寄给我。但请尽量缩小范围。不要指望我为了运行它而设置数据库之类的东西。不需要设置任何东西。一切都安排好了。谢谢