Asp.net mvc 4 在MVC中添加dropdownlist
如果MVC只允许每个视图有一个ViewModel,那么如何将dropdownlist(为此需要有一个单独的ViewModel)合并到另一个ViewModel(即具有此dropdownlist列的实体)已使用的现有视图中?您可以在主ViewModel中创建一个属性,该属性包含用于下拉列表的ViewModel,并与下拉列表一起使用Asp.net mvc 4 在MVC中添加dropdownlist,asp.net-mvc-4,Asp.net Mvc 4,如果MVC只允许每个视图有一个ViewModel,那么如何将dropdownlist(为此需要有一个单独的ViewModel)合并到另一个ViewModel(即具有此dropdownlist列的实体)已使用的现有视图中?您可以在主ViewModel中创建一个属性,该属性包含用于下拉列表的ViewModel,并与下拉列表一起使用 public IEnumerable<int> GetAllSuppliers() { NorthwindEntiti
public IEnumerable<int> GetAllSuppliers()
{
NorthwindEntities db = new NorthwindEntities();
return db.Suppliers.Select(e => e.SupplierID);
}
假设你有一个控制器
public class HomeController
{
public ActionResult Index()
{
var viewModel = new MainViewModel
{
SomeProperty = "SomeValue",
DropDownData = new DropDownDataViewModel() // Initialize it with appropriate data here.
};
return this.View(viewModel);
}
}
和主视图模型
public class MainViewModel
{
public string SomeProperty {get; set;}
public DropDownDataViewModel DropDownData { get; set; }
}
因此,在视图中,您可以调用
@Model.DropDownData
来访问此viewmmodel。您可以在主ViewModel中创建一个属性,其中包含用于dropdownlist的ViewModel,并将其与下拉列表一起使用
public IEnumerable<int> GetAllSuppliers()
{
NorthwindEntities db = new NorthwindEntities();
return db.Suppliers.Select(e => e.SupplierID);
}
假设你有一个控制器
public class HomeController
{
public ActionResult Index()
{
var viewModel = new MainViewModel
{
SomeProperty = "SomeValue",
DropDownData = new DropDownDataViewModel() // Initialize it with appropriate data here.
};
return this.View(viewModel);
}
}
和主视图模型
public class MainViewModel
{
public string SomeProperty {get; set;}
public DropDownDataViewModel DropDownData { get; set; }
}
因此,在您的视图中,您可以调用
@Model.DropDownData
,以访问此viewmmodel。此外,我想,您已经找到了所有需要的内容:
作为初学者,我仅使用NorthWind数据库完成了dropDownlist的基本实现
我已经从Northwind数据库导入了Product&Suppliers表
在ProductController.cs
文件中,这是我的Product
表的控制器文件,添加方法:GetAllSuppliers
以获取我们将在下拉列表中显示的所有供应商SID
public IEnumerable<int> GetAllSuppliers()
{
NorthwindEntities db = new NorthwindEntities();
return db.Suppliers.Select(e => e.SupplierID);
}
在相应的Create.aspx视图中,使用以下命令:
<%: Html.DropDownListFor(model => model.SupplierID, ViewData["Suppliers"] as SelectList) %>
model.SupplierID,查看数据[“供应商”]作为选择列表)%>
下面是结果的快照:
如果您需要任何解释,请告诉我。此外,我想,这个问题已经得到了您想要的一切:
作为初学者,我仅使用NorthWind数据库完成了dropDownlist的基本实现
我已经从Northwind数据库导入了Product&Suppliers表
在ProductController.cs
文件中,这是我的Product
表的控制器文件,添加方法:GetAllSuppliers
以获取我们将在下拉列表中显示的所有供应商SID
public IEnumerable<int> GetAllSuppliers()
{
NorthwindEntities db = new NorthwindEntities();
return db.Suppliers.Select(e => e.SupplierID);
}
在相应的Create.aspx视图中,使用以下命令:
<%: Html.DropDownListFor(model => model.SupplierID, ViewData["Suppliers"] as SelectList) %>
model.SupplierID,查看数据[“供应商”]作为选择列表)%>
下面是结果的快照:
如果您需要任何解释,请告诉我。AlexK,我明白了,但是您能提供一个简单的代码片段示例吗?谢谢AlexK,我明白了!AlexK,明白了,但是你能提供一个简单的代码片段示例吗?谢谢AlexK,明白了!为什么你会认为下拉列表需要单独的视图模型?为什么你会认为下拉列表需要单独的视图模型?谢谢!基本的实现就是我想要的。很好地为我工作!!非常感谢。基本的实现就是我想要的。很好地为我工作!!