我在asp.netMvc中使用了DatabaseFirst。我在一个视图中使用了多个表,并在数据库中注册。
1。我有用户表和修复字段:
CREATE TABLE [dbo].[Users](
[ID] [int] IDENTITY(1,1) NOT NULL,
[UserType] [int] NOT NULL,
[UserName] [nvarchar](50) NOT NULL,
[PassWord] [nvarchar](50) NOT NULL,
[PhoneNumber] [varchar](11) NOT NULL,
[Address] [nvarchar](max) NOT NULL,
[ChargeAccount] [bigint] NULL,
userType字段是UserType表中的ForeignKey,包括(" Admin"," User",..) 我还有另一张包含客户字段的表格:
CREATE TABLE [dbo].[Fields](
[ID] [int] IDENTITY(1,1) NOT NULL,
[FieldName] [nvarchar](50) NOT NULL,
[FieldTypeID] [int] NOT NULL,
[DisplayFieldName] [nvarchar](50) NOT NULL,
FieldType是包含的表(" textbox",...) 现在,我想创建RegisterForm与Insert.Also我有问题获得UserTypeDropDown的选定值。
2。我写了这个ViewModel:
public class UserViewModel
{
protected UserTypeFeatch userTypeFeatch;
public UserViewModel()
{
userTypeFeatch = new UserTypeFeatch();
}
public virtual UserType UserType1 { get; set; }
public int UserTypeID { get; set; }
public string UserTypeName { get; set; }
public int SelectedUserType;
public IEnumerable<UserType> UserTypes
{
get
{
return userTypeFeatch.GetUserType();
}
set { }
}
public string UserName { get; set; }
public string PassWord { get; set; }
public string PhoneNumber { get; set; }
public string Address { get; set; }
}
我的问题是如何在VM中设置CustomeFields并检索所选的值并注册CustomeFields。
答案 0 :(得分:0)
获取下拉值:
您的视图模型中还需要两个属性,您可以将其绑定到下拉列表。
public ICollection<SelectListItem> UserTypes { get; set; }
public long UserTypeId { get; set; }
在selectlist项目中添加下拉列表的值,如下所示:
var emplyee = new Employee();
var userTypeSelectList = new List<SelectListItem>();
userTypeSelectList.Add(new SelectListItem() { Text = "ABC", Value = "1" });
userTypeSelectList.Add(new SelectListItem() { Text = "XYZ", Value = "2" });
userTypeSelectList.Add(new SelectListItem() { Text = "PQR", Value = "3" });
emplyee.UserTypes = userTypeSelectList;
在类文件中包含以下命名空间:
使用System.Web.Mvc;
现在在视图中添加下拉列表。
@Html.DropDownListFor(model => model.UserTypeId, new SelectList(Model.UserTypes, "Value", "Text"), new { @class = "form-control"})
现在在post方法中,您将获得选择的usertype Id。
答案 1 :(得分:0)
在您的视图模型中包含以下代码。
IEnumerable<SelectListItem> UserTypesItemList = UserTypes.Select(x => new SelectListItem { Text = x.UserTypeName, Value = x.UserTypeID.ToString() });
并且在视图中您必须包含所选项目列表
@Html.DropDownList("DropDownID", Model.UserTypesItemList, "Please select")
希望它可以帮到你。