Asp.net mvc ASP.NET MVC-如何使用其他模型填充dropdownlist?
一个称为Asp.net mvc ASP.NET MVC-如何使用其他模型填充dropdownlist?,asp.net-mvc,model-view-controller,drop-down-menu,models,Asp.net Mvc,Model View Controller,Drop Down Menu,Models,一个称为PropertyModel,另一个称为PropertyTypeModel。PropertyModel包含一个PropertyTypeModel,如下所示: public class PropertyModel { public int PropertyID { get; set; } public PropertyTypeModel PropertyType { get; set; } [DataType(DataType.Text)] [Displ
PropertyModel
,另一个称为PropertyTypeModel
。PropertyModel
包含一个PropertyTypeModel
,如下所示:
public class PropertyModel {
public int PropertyID { get; set; }
public PropertyTypeModel PropertyType { get; set; }
[DataType(DataType.Text)]
[DisplayName("Property name")]
public string PropertyName { get; set; }
}
PropertyTypeModel
是这样的:
public class PropertyTypeModel {
public int PropertyTypeID { get; set; }
[DataType(DataType.Text)]
[DisplayName("Property type")]
public string PropertyType { get; set; }
public static List<SelectListItem> PropertyTypeSelectList()
{
using (Properties dataContext = new Properties())
{
return (from pt in dataContext.PropertyTypes
select new SelectListItem
{
Value = pt.PropertyTypeID.ToString(),
Text = pt.PropertyTypeName
}).ToList();
}
}
}
我不希望这样,因为在数据库中所做的任何更改,例如添加另一种类型的属性,都将意味着在视图中重新编码列表。此外,这段代码是这样给我的,我需要使用PropertyTypeModel
我的问题是:如何使用PropertyTypeModel
PropertyTypeSelectList
填充的dropdownlist
?我还没有找到任何关于如何做到这一点的信息。如何将类型模型“读取”到属性模型中
请帮忙,我已经干了好几个小时了。如果可能的话,代码可以这样做,那就太好了。你试过了吗
<%= Html.DropDownListFor(m => m.PropertyType.PropertyType, Model.PropertyType.PropertyTypeSelectList(), "Choose one") %>
m.PropertyType.PropertyType,Model.PropertyType.PropertyTypeSelectList(),“选择一个”)%%>
您试过了吗
<%= Html.DropDownListFor(m => m.PropertyType.PropertyType, Model.PropertyType.PropertyTypeSelectList(), "Choose one") %>
m.PropertyType.PropertyType,Model.PropertyType.PropertyTypeSelectList(),“选择一个”)%%>
这不起作用,原因如下:1)执行m.PropertyTypeSelectList()时出现此错误-“名称“m”在当前上下文中不存在”。2) 模型m不是包含列表的模型。PropertyModel是视图中使用的模型,而PropertyTypeModel包含列表。PropertyModel有一个PropertyTypeModel作为属性。这就是我问题的全部要点,如何从视图+1中使用的PropertyModel访问PropertyTypeModel?这应该可以做到。或者(可以说是一种更简洁的方法)您可以在填充模型时填充Model.PropertyType.PropertyTypeSelectList
属性。这不起作用的原因有几个:1)在执行m.PropertyTypeSelectList()时出现此错误-“名称“m”在当前上下文中不存在”。2) 模型m不是包含列表的模型。PropertyModel是视图中使用的模型,而PropertyTypeModel包含列表。PropertyModel有一个PropertyTypeModel作为属性。这就是我问题的全部要点,如何从视图+1中使用的PropertyModel访问PropertyTypeModel?这应该可以做到。或者(可以说是一种更简洁的方法),您可以拥有一个Model.PropertyType.PropertyTypeSelectList
属性,在填充模型时填充该属性。